Enumerable.OfType, Items, IDrawableItem:
foreach(var item in Items.OfType<IDrawableItem>()) {
item.Draw();
}
, Nanook , , , , :
foreach(var item in Items) {
if(item is IDrawableItem) {
((IDrawable)item).Draw();
}
}
, , :
public static IEnumerable<T> OfType<T>(this IEnumerable<TSource> source) {
if(source == null) {
throw new ArgumentNullException("source");
}
foreach(TSource item in source) {
if(item is T) {
yield return (T)item;
}
}
}
, , , , Items . , , OfType , , .