Ich möchte, dies zu tun:Wie kann ich eine Methode durch Reflektion mit einem Lambda-Ausdruck als Parameter aufrufen?
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)});
myList eine generische Liste eines bestimmten Typs ist (unbekannt in der Anwendung), und ich möchte es auf eine Liste von Objekten konvertieren einige Operationen zu tun.
Allerdings versagt diese mit diesem Fehler: „Kann nicht Lambda-Ausdruck konvertieren‚Objekt‘zu geben, weil es nicht eine Art delegieren ist“
Können Sie mir helfen zu finden, was falsch ist? Versuche ich etwas zu tun, was nicht möglich ist?
Gibt es eine andere Möglichkeit, dasselbe zu erreichen?
Die Schwierigkeit besteht darin, dass YourType hier zur Kompilierzeit nicht bekannt ist - daher mein Vorschlag, es in eine generische Methode umzuwandeln. –
Ah verdammt, das habe ich nicht beachtet. –
Ja, ich wollte das gleiche sagen ... Danke trotzdem – juan