C# 将事件传递给构造函数

C# 将事件传递给构造函数,c#,events,delegates,C#,Events,Delegates,我有一个类,我希望能够处理网格的鼠标移动事件 我尝试使用静态方法调用创建它,如下所示: MyDataBinding.BindObjectsToDataGrid(ListOfObjectsToBind, myGrid.MouseUp); 最终目标是,在该方法中,我将为MouseUp分配一个委托 PassedInMouseUp += myMethodThatWillHandleTheMouseUp; (对我来说)这里看起来不错,但编译器在第一行就卡住了。它说我只能使用带有+=或-=的MouseU

我有一个类,我希望能够处理网格的鼠标移动事件

我尝试使用静态方法调用创建它,如下所示:

MyDataBinding.BindObjectsToDataGrid(ListOfObjectsToBind, myGrid.MouseUp);
最终目标是,在该方法中,我将为MouseUp分配一个委托

PassedInMouseUp += myMethodThatWillHandleTheMouseUp;
(对我来说)这里看起来不错,但编译器在第一行就卡住了。它说我只能使用带有+=或-=的MouseUp

很明显,我走错了方向。如何让不同的类处理鼠标而不必:

  • 通过整个网格
  • 公开将作为公共方法处理鼠标的方法

或者,这只是一个限制,我必须做上面的一项吗?

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


与属性类似,.Net事件编译为一对访问器方法-
add\u EventName
remove\u EventName
。没有任何东西可以作为参数传递。

也许我可以创建一个委托,将方法添加到事件中,然后将其传递到方法中。(稍后再打电话)这样行吗(更好的是我会去试试)那会管用的<代码>MyDataBinding.BindObjectsToDataGrid(ListoObjectsToBind,h=>myGrid.MouseUp+=h)。该参数将是一个
操作