这是因为负责链接多个委托的 Delegate.Combine方法要求参数必须为相同的类型。上面的示例我们可以修改成如下正确的代码:
Func<string> stringFunc = () => ""; Func<object> defensiveCopy = new Func<object>(stringFunc); Func<object> objectFunc = () => new object(); Func<object> combined = objectFunc + defensiveCopy;C#多线程编程实例 线程与窗体交互【附源码】
在C语言中解析JSON配置文件