.NET 3.5:具有ref params的处理程序的匿名委托

Rov*_*ver 3 .net c# lambda delegates .net-3.5

我有

public delegate void DocumentCompleteEventHandler(object pDisp, ref object URL)
Run Code Online (Sandbox Code Playgroud)

我可以使用lambda表达式,例如:

ie.DocumentComplete += (o, e) => {  };
Run Code Online (Sandbox Code Playgroud)

它的表达不起作用.如何更改它以便在代码中使用?可能吗?

x0n*_*x0n 6

你有没有尝试过:

ie.DocumentComplete += (object o, ref object e) => {};
Run Code Online (Sandbox Code Playgroud)

有时编译器无法通过纯推理来弄清楚事物,你需要指定labmda参数类型(和修饰符).注意它是一个全有或全无的东西:你必须为所有参数赋予类型或根本不给出类型.

ps我正等着某个先生Skeet来这里并粘贴一篇文章来窃取我的所有观点.

  • 你太快了)))我会在8分钟内完成 (3认同)