您可以将方法分配给具有匹配类型 args 的委托:
Func<string, DateTime> f = DateTime.Parse;
您可以将 lambda 分配给具有协变类型 args 的委托:
Func<string, object> f = s => DateTime.Parse(s);
但是您不能将方法分配给具有协变类型 args 的委托:
Func<string, object> f = DateTime.Parse; //ERROR: has the wrong return type
为什么不?