What is the best way to convert a non-generic collection to a generic collection? Is there a way to LINQ it?
I have the following code.
public class NonG
Another elegant way is to create a wrapper class like this (I include this in my utilities project).
public class EnumerableGenericizer : IEnumerable
{
public IEnumerable Target { get; set; }
public EnumerableGenericizer(IEnumerable target)
{
Target = target;
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public IEnumerator GetEnumerator()
{
foreach(T item in Target)
{
yield return item;
}
}
}
You can now do this:
IEnumerable genericized =
new EnumerableGenericizer(nonGenericCollection);
You could then wrap a normal generic list around the genericized collection.