我想要将事件处理程序传递给我的某个方法。这可能看起来很愚蠢,但我似乎找不到方法。
我在SO上看了一些相关问题,但还是没有解决。
我有以下的方法签名
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”
根据我在这里阅读到的内容,如果直接按照名称引用某个方法而没有任何参数,则被视为“方法组”,因为该方法可能有多个重载。
那么我的问题是:如何将我的事件处理程序作为参数传递给我的方法?
方法的最佳重载匹配具有一些无效参数
,这是准确的。你提到的第二个错误是误导性的。 - Olivier Jacot-DescombesDataGridViewCellEventArgs
是一个EventArgs
,但它还是不行。 - Rémi