Вызвать члена класса CProgressCtrl :: SetMarquee , чтобы включить или выключить режим выделения. Вы можете вызвать это в любое время (после создания элемента управления).
Используя a ForEach
дополнительный метод хорошо, но существует промежуточный подход:
// Rename 'query' to something meaningful :)
var query = _fixture.Images
.Where(image => _selectedFixtureImage.Filename
&& image.IsPrimary);
foreach (FixtureImageServicesData image in query)
{
image.IsPrimary = false;
image.IsChanged = true;
}
Если Вы действительно используете a ForEach
метод, я определенно отформатировал бы его в нескольких строках:
_fixture.Images
.Where(image => _selectedFixtureImage.Filename && image.IsPrimary)
.ForEach(image => { image.IsPrimary = false; image.IsChanged = true;});
(Уменьшенное добавление отступа, чтобы не переноситься...)
или:
_fixture.Images
.Where(image => _selectedFixtureImage.Filename && image.IsPrimary)
.ForEach(image => { image.IsPrimary = false;
image.IsChanged = true; });
Вы могли бы даже хотеть извлечь "превращающий неосновной" бит в отдельный метод, в которой точке Вы будете иметь:
_fixture.Images
.Where(image => _selectedFixtureImage.Filename && image.IsPrimary)
.ForEach(MakeNonPrimary);
Это напоминает мне немного, "должен я использовать Regex, или стандартные строковые функции" или "должны я использовать XSLT/XPATH, чтобы преобразовать XML или использовать SelectSingleNode ()".
Первая возможность (т.е. Regex/XSLT/Linq) часто рассматривается более изящная и мощная любым, кто провел некоторое время, изучая это.
В то время как для всех остальных это, кажется, менее читаемо и более сложно по сравнению со второй опцией (т.е. строковые функции, SelectSingleNode (), простой цикл foreach).
В прошлом я был обвинен в сверхусложнении вещей при помощи Regex и XSLT/XPATH в моем дизайне.
Просто недавно я обвинялся в "том, чтобы бояться изменения" путем предпочтения простого foreach (и даже для) циклы во многих ситуациях по Linq Где, Foreach и т.д.
Я скоро понял, что люди в обоих случаях, которые сказали это, были видом, кто чувствует, что существует "один путь", чтобы сделать все.
Принимая во внимание, что я всегда находил, что намного более умно рассмотреть каждую ситуацию на своих достоинствах и выбрать правильный инструмент для задания. Я просто игнорирую их и продолжаю мой подход ;)
Для той ситуации Вы описываете, первая опция более предпочтительна для меня. Однако я, вероятно, использовал бы подход Linq, если бы мои команды были все компетентны в Linq, и у нас были инструкции по кодированию для предотвращения больших острот (путем разделения его их)
Что-либо, что уменьшает вертикальную или горизонтальную сложность, плюс для меня. Кроме того, Linq является намного более описательным из того, что Вы пытаетесь выполнить.