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

时间:2010-09-28 12:37:37

标签: c# .net .net-3.5 delegates lambda

我有

public delegate void DocumentCompleteEventHandler(object pDisp, ref object URL)

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

ie.DocumentComplete += (o, e) => {  };

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

1 个答案:

答案 0 :(得分:6)

你试过了吗?

ie.DocumentComplete += (object o, ref object e) => {};

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

P.S。我正在等待某个先生Skeet来到这里并粘贴一篇文章来窃取我的所有观点。