Можно ли иметь свойство IEnumerable ?

У меня есть класс, который IEnumerable , где я хочу иметь различные свойства, которые предоставляют отфильтрованный IEnumerable access.

Например:

class Shape
   ShapeType = Box/Sphere/Pyramid

class ShapeCollection : IEnumerable<Shape>
{
   public IEnumerable<Shape> OnlyBox
   {
       foreach(var s in this)
       {
           if (s.ShapeType == Box)
               yield return s;
       }
   }
}

Это так и должно быть? Просто не уверен, об этом полностью.

Спасибо.

8
задан Darin Dimitrov 2 September 2010 в 18:56
поделиться