Ich kann Type.InvokeMember
verwenden, um eine Methode über Reflektion aufzurufen, und es scheint ziemlich robust, zum Beispiel Param-Array-Parameter. Aus irgendeinem Grund behandelt es jedoch keine optionalen Parameter.Rufen Sie eine Methode mit optionalen Parametern über Reflexion
Gibt es einen besser integrierten Ansatz zum Aufrufen einer Methode (vielleicht mit dem DLR), die optionale Parameter berücksichtigt?
Sie können type.GetMethod (...) aufrufen, um eine MethodInfo-Instanz abzurufen. Dann können Sie methodInfo.Invoke() aufrufen, für optionale Parameter können Sie Type.Missing übergeben –
Aber das erfordert, dass ich zu dem Aufwand der Iteration über alle möglichen Instanzen der Methode gehen und erarbeiten, ob meine Parameter angesichts der optionalen geeignet sind Parameter. Ich mache das Binden im Grunde manuell, was ich gerade mache. Scheint einfach, dass Type.InvokeMember 90% des Weges geht und dann scheitert. Betrachtet man das Duplikat, erscheint es, dass ich es vorerst manuell mache. –