【发布时间】:2021-06-19 03:12:59
【问题描述】:
我不太熟悉 lambda 和委托表达式,但我需要使用 .NET 2 框架,所以我必须使用委托。
假设我有一个例子
process = new Process();
我想通过自定义将其他参数传递给事件:
public void TestHandler(object s, DataReceivedEventArgs e, string mystring)
{
Console.writeLine(e.Data + "," + mystring);
}
...
process.OutputDataReceived += new DataReceivedEventHandler((sender, e) => TestHandler(sender, e, "hello"));
我应该如何使用委托来做到这一点?
我尝试过这样做:
public delegate void TestDelegate(object s, DataReceivedEventArgs e, string mystring);
..eg inside main
TestDelegate testDel = delegate(object s,DataReceivedEventArgs e, string mystring) { TestHandler (s, e, mystring); };
process.OutputDataReceived += new DataReceivedEventHandler(testDel);
但我想我错了。
【问题讨论】: