I have a class (A web control) that has a property of type IEnumerable and would like to work with the parameter using LINQ.
Is there any way to cast / convert / inv
Does your Method2
really care what type it gets? If not, you could just call Cast
:
void Method (IEnumerable source)
{
Method2(source.Cast
If you definitely need to get the right type, you'll need to use reflection.
Something like:
MethodInfo method = typeof(MyType).GetMethod("Method2");
MethodInfo generic = method.MakeGenericMethod(type);
generic.Invoke(this, new object[] {source});
It's not ideal though... in particular, if source isn't exactly an IEnumerable
then the invocation will fail. For instance, if the first element happens to be a string, but source is a List
, you'll have problems.