Ich habe zwei Funktionen:Type.GetMethod mit einem generischen Überlastung - Get Generisches Method ohne durch alle Methoden Looping
public void DeleteRecord(int id);
public T DeleteRecord<T>(int id);
Hier ist, wie ich versuche, die generische dynamisch aufrufen methode:
MethodInfo method = typeof(DAL).GetMethod("DeleteRecord", new[] { typeof(int) });
MethodInfo generic = method.MakeGenericMethod(returnType);
object o = generic.Invoke(null, new object[] { dbname, spname, expandoAsDictionary });
Die erste Zeile t hrows eine Ausnahme, weil es eine mehrdeutige Definition findet. Gibt es eine Möglichkeit, ich kann die MethodInfo
der generischen Methode ohne GetMethods
und durchlaufen die Ergebnisse für die Frage IsGenericMethod
?
Edit: Bitte entfernen Sie die 'Duplicate', da beide der vorgeschlagenen Antworten entweder lösen dies mit einer inneren Schleife (GetMethods(). Wählen Sie ...) oder nicht einmal überlasten.
Dies ist kein Duplikat. Ich weiß bereits, wie man eine generische Methode mit Reflektion aufruft, aber ich habe eine mehrdeutige Definitionsausnahme. Bitte lies meine Frage durch. –
es ist ein Duplikat, aber ich verband die falsche Frage, sorry ... hier ist der richtige: http://Stackoverflow.com/q/5218395/201088. –
immer noch kein dup! Ich habe explizit gefragt, wie man das macht, ohne die GetMethods() Funktion zu benutzen. die Antwort, die in Ihrem Link markiert ist, verwendet es ... –