Использование методов расширения C # - удобный способ предоставления метода AddRange. Имейте в виду, что это не будет быстрее, чем вызов Add несколько раз.
Вот один пример (вы можете добавить проверку ошибок для нулей и т. Д.).
Для использования вы можете:
sb.Children.AddRange(timelineInst1, timelineInst2);
или передать список.
sb.Children.AddRange(timelineInsts);
где timelineInst
- список, который реализует IEnuermable<Timeline>
.
public static class StoryboardExtensions
{
public static void AddRange(this TimelineCollection timeline, IEnumerable<Timeline> timelines)
{
foreach (Timeline t in timelines)
{
timeline.Add(t);
}
}
public static void AddRange(this TimelineCollection timeline, params Timeline[] timelines)
{
if (timeline == null || timelines.Length == 0) { return; }
foreach (Timeline t in timelines)
{
timeline.Add(t);
}
}
}