How does OfType() Work?
I read this link about what\'s going on but how exactly does the LINQ provider know how to get all objects matching the specified type. I kno
Your current implementation -- by design -- doesn't support value-types.
If you wanted something closer to LINQ's OfType method, that supports all types, then try this:
public IEnumerable<TResult> OfType<TResult>(IEnumerable source)
{
foreach (object item in source)
{
if (item is TResult)
yield return (TResult)item;
}
}
It looks like a good implementation to me, but it looks kind of implementation specific (you are referring to this.InnerList). If you created an extension method (that's supported in 2.0 is it not?) that extends IEnumerable, you would be able to use it on any enumerable collection, would you not?