我有一个我希望能够处理网格的鼠标向上事件的类。
我试图用这样的静态方法调用来创建它:
MyDataBinding.BindObjectsToDataGrid(ListOfObjectsToBind, myGrid.MouseUp);
最终目标是在该方法中,我将为MouseUp分配一个委托
PassedInMouseUp += myMethodThatWillHandleTheMouseUp;
(对我来说)在这里看起来不错,但是编译器在第一行就很窒息。它说我只能将MouseUp与+ =或-=一起使用。
显然,我正在以错误的方式进行操作。如何获得一个不同的类来处理鼠标而不必:
传递整个网格
将公开处理鼠标的方法公开。
或者,这仅仅是一个限制,我将不得不执行以上任一操作?
最佳答案
没有反射就不可能做到这一点。
与属性一样,.Net事件会编译为一对访问器方法-add_EventName
和remove_EventName
。没有什么可以作为参数传递的。
关于c# - 将事件传递给构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2970095/