Tag: 反映

通过reflection为任何事件类型订阅操作

考虑: someControl.Click += delegate { Foo(); }; 事件的论点是无关紧要的,我不需要它们,我对它们不感兴趣。 我只想让Foo()被调用。 通过reflection没有明显的方法来做同样的事情。 我想将上述内容翻译成类似的内容 void Foo() { /* launch missiles etc */ } void Bar(object obj, EventInfo info) { Action callFoo = Foo; info.AddEventHandler(obj, callFoo); } 此外,我不想假设传递给Bar的对象类型严格遵守使用事件的EventHander(TArgs)签名的指导原则。 简单地说,我正在寻找一种方法来将Action订阅到任何处理程序类型; 简而言之,一种将Action委托转换为预期处理程序类型的委托的方法。

改善性能反映,我应该考虑哪些替代方案

我需要动态设置对象上的值或属性的值,将其称为传输对象。 将会创建相当数量的这些传输对象并在短时间内设置其属性。我想避免使用reflection,是否有替代? 如果是这样的样本实现我可以看一下? 谢谢