Quiero hacer esto:¿Cómo invoco un método a través de la reflexión con una expresión lambda como parámetro?
MethodInfo m = myList.GetType().GetMethod("ConvertAll", System.Reflection.BindingFlags.InvokeMethod).MakeGenericMethod(typeof(object));
List<object> myConvertedList = (List<object>)m.Invoke(myList, new object[]{ (t => (object)t)});
miLista es una lista genérica de un tipo específico (desconocido para la aplicación), y quiero convertirlo en una lista de objetos para hacer algunas operaciones.
Sin embargo, esto produce este error: "No se puede convertir la expresión lambda para escribir 'objeto' porque no es un tipo de delegado"
¿Puede ayudarme a encontrar lo que está mal? ¿Estoy tratando de hacer algo que no es posible?
¿Hay alguna otra manera de lograr lo mismo?
La dificultad es que YourType no se conoce en tiempo de compilación aquí; de ahí mi sugerencia de convertirlo en un método genérico. –
Ah maldita sea, no le presté atención a eso. –
Sí, estaba a punto de comentar lo mismo ... Gracias de todos modos – juan