将事件传递给构造函数

时间:2010-06-03 22:00:24

标签: c# events delegates

我有一个类,我希望能够处理网格的鼠标注册事件。

我尝试使用这样的静态方法调用来创建它:

MyDataBinding.BindObjectsToDataGrid(ListOfObjectsToBind, myGrid.MouseUp);

最终目标是在方法中我将一个委托分配给MouseUp

PassedInMouseUp += myMethodThatWillHandleTheMouseUp;

这里看起来不错(对我来说),但编译器在第一行窒息。它说我只能使用带有+ =或a - =。

的MouseUp

显然,我的方式是错误的。我怎样才能得到一个不同的类来处理鼠标而不必:

  • 传递整个网格
  • 将将处理鼠标的方法公开为公共方法。

或者,这只是一个限制,我将不得不做以上其中一个?

1 个答案:

答案 0 :(得分:1)

如果没有反思,这是不可能的。

与属性类似,.Net事件编译为一对访问方法 - add_EventNameremove_EventName。没有什么可以作为论据传递。