Чтобы сделать объект Enumerable в C #, вы должны реализовать интерфейс IEnumerable
public class Widget{}
public class WidgetCollection : IEnumerable<Widget>
{
public IEnumerator<Widget> GetEnumerator()
{
throw new NotImplementedException();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
Что касается второй части вашего вопроса, я не уверен, о чем вы спрашиваете или пытаетесь сделать.