Mat*_*ell 2 c# vb.net reflection
我无法弄清楚如何获取事件的参数类型.
例如,我只能看到使用MethodInfo来获取参数,但我有一个EventInfo或FieldInfo.
我想要的是能够从这里得到'布尔':
Public Event EventName(ByVal sender As Object, ByVal value As Boolean)
Run Code Online (Sandbox Code Playgroud)
我理论上可以尝试类似GetRaiseMethod()的东西,但这不起作用(因为该方法根据此链接返回null ),即使它确实需要首先进行方法绑定,这意味着只需要确认测试套件事件在初始化时具有某个类型参数.
有任何想法吗?
Dan*_*ner 12
假设事件EventName
在类中声明DeclaringClass
且事件至少包含参数,您可以获得第二个参数的类型,如下所示.否则你可能会收到一个例外.
Type secondEventHandlerParameterType =
typeof(DeclaringClass).
GetEvent("EventName").
EventHandlerType.
GetMethod("Invoke").
GetParameters()[1].
ParameterType;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2420 次 |
最近记录: |