c# - 处理没有参数的委托(delegate)

标签 c# anonymous-methods

我有一个带有输出参数的委托(delegate)和事件:

public delegate void ExampleDelegate(object sender, EventArgs e, out string value);

public event ExampleDelegate Example;

当我尝试处理事件时:

 mg.Example += (sender, e, val) =>
 {
    //do stuff
 };

我收到错误参数 3 必须使用“out”关键字声明

当我像这样输入建议的 out 关键字时:

 mg.Example += (sender, e, out val) =>
 {
    //do stuff
 };

我收到额外错误无法找到 namespace 名称“val”的类型..etc

我做错了什么?

最佳答案

嗯,正如它明确指出的那样here ,需要指定val的类型:

(sender, e, out string val)=> ...

关于c# - 处理没有参数的委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522418/

相关文章:

c# - 使用匿名方法的例子和缺点

c# - 将此委托(delegate)转换为匿名方法或 lambda

c# - 如何取消注册 'anonymous' 事件处理程序

c# - 此代码的 LINQ 方法

c# - 如何将限制定义为参数?

c# - 反编译 IEnumerators

c# - 将匿名方法转换为 lambda 表达式

c# - 动态设置 DataGridColumn 的单元格内容

c# - 使用命令行禁用 FIPS

java - 从匿名类调用新定义的方法