Was ist der effizienteste Weg zu Fragen, ein MethodInfo, wie viele Parameter es dauert?
Was ist der effizienteste Weg zu Fragen, ein MethodInfo, wenn es die Parameter akzeptiert und, wenn ja, wie viele?
Meine aktuellen Lösungen: methodInfo.GetParameters().Any()
und methodInfo.GetParameters().Count()
.
Ist das der effizienteste Weg?
Da ich eigentlich gar nicht benötigen eine der ParameterInfo
Objekte, gibt es eine Möglichkeit, dies zu tun, ohne einen Anruf zu GetParameters()
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den beiden, die Sie aufgelistet sind für LINQ.
Any()
zurückbool
- die besagt, dass es mindestens eine.Count()
ist eine aufIEnumerable<T>
.Length
(die Eigenschaft) wird die Schnellste, weilGetParameters()
zurückParameterInfo[]
.Erscheint es nicht, dass
MethodInfo
haben einen anderen Weg, um Zugriff auf die Anzahl von anderen Parametern alsGetParameters()
.Wenn Effizienz Fragen, warum Sie nicht einfach cache das Ergebnis in einer
Dictionary<MethodInfo,int>
? So müssen Sie nur die Reflexion nur einmal.Wenn Sie möchten, um die Anzahl der Parameter der
MethodInfo
, dann verwenden Sie den code unten