我试图将一个事件处理程序传递给我的方法之一。这看起来很愚蠢,但我似乎找不到办法去做。
我这里有几个问题,所以我还是没能解决。
我有以下方法签名
public void SyncWithInfo(Action<object, EventArgs> cellValueChanged,
int indexValeurFr, int indexValeurEn, int indexUnite)
我试着用这段代码来称呼它
private void myMethod()
{
dgvform.SyncWithInfo(dgvform_CellValueChanged, valeur.Index,
valeurEN.Index, unite.Index);
}
private void dgvform_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
//stuff
}
我有以下错误:
无法从“方法组”转换为
'System.Action<object, System.EventArgs>'
据我所知,这里在没有任何参数的情况下直接引用一个方法的名称被认为是一个‘方法组’,因为该方法可能存在X重载。
下面是我的问题:如何将事件处理程序作为我的方法的参数传递?
发布于 2014-04-04 19:36:45
我认为SyncWithInfo
签名必须使用EventArg
的explict类型。因此,方法签名看起来如下:
public void SyncWithInfo(Action<object, DataGridViewCellEventArgs> cellValueChanged,
int indexValeurFr, int indexValeurEn, int indexUnite)
https://stackoverflow.com/questions/22871499
复制相似问题