如何最有效地询问 MethodInfo
是否接受参数,如果是,则有多少个参数?
我的当前解决方案为:methodInfo.GetParameters().Any()
和 methodInfo.GetParameters().Count()
。
这是否是最有效的方法?
由于我实际上不需要任何 ParameterInfo
对象,是否有一种方法可以在不调用 GetParameters()
的情况下完成此操作?
如何最有效地询问 MethodInfo
是否接受参数,如果是,则有多少个参数?
我的当前解决方案为:methodInfo.GetParameters().Any()
和 methodInfo.GetParameters().Count()
。
这是否是最有效的方法?
由于我实际上不需要任何 ParameterInfo
对象,是否有一种方法可以在不调用 GetParameters()
的情况下完成此操作?
Any()
返回bool
,表示至少有一个。 Count()
用于IEnumerable<T>
。
Length
(属性)将是最快的,因为GetParameters()
返回ParameterInfo[]
。MethodInfo
没有其他获取参数数量的方法,除了使用GetParameters()
。Dictionary<MethodInfo,int>
中呢?这样你只需要使用一次反射。如果您想获取MethodInfo
的参数计数,则使用以下代码
int intLength = mi.GetParameters().Length; // where mi is a variable of type MethodInfo