use*_*291 5 .net c# reflection
我想在伪代码中动态设置这样的自定义事件处理程序列表:
FieldInfo[] fieldInfos = this.GetType().GetFields(
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly);
foreach (FieldInfo fieldInfo in fieldInfos)
{
if this.fieldInfo.GetType() = TypeOf(CustomEventHandler<this.fieldInfo.Name>) {
this.fieldInfo.Name += new CustomEventHandler<this.fieldInfo.Name>(OnChange<this.fieldInfo.Name>);
}
}
Run Code Online (Sandbox Code Playgroud)
我找不到合适的语法可以吗?
GetEvents而不是GetFields怎么样?
var t = something.GetType();
var eventInfos = t.GetEvents();
foreach (var info in eventInfos)
{
if (info.EventHandlerType == TypeOf(CustomEventHandler<this.fieldInfo.Name>)
info.AddEventHandler(...);
}
Run Code Online (Sandbox Code Playgroud)
我不完全确定类型比较,但是再次,fieldInfo.Name不能用于类似的泛型.
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |