我对C#中的逆变/协变如何工作感到困惑。我有以下伪代码。
public static void Main()
{
Action<string> action = e => Console.WriteLine(e);
Execute(action);
}
private static void Execute(Action<object> action)
{
action("hello world");
}
这个问题是因为某些参数无效而导致的CS1502错误: The best overloaded method match for [...],但我不确定具体原因。请问正确的解决方法是什么?
在我的实际情况中,我使用了一个基础接口来代替传递具体实例的对象。
谢谢!
[...]
占位符。 - André Chalella