假设有一个恒等函数,即:
T Id<T>(T t) { return t; }
我应该输入F
什么?
void F<T>(Func<T, T> f) { // This is not sound!
System.Console.WriteLine("{0}", f(1));
System.Console.WriteLine("{0}", f("one"));
}
static void Main() {
F(Id);
}
我认为 C# 没有 N 级多态性,C# 不能正确输入F
。这是正确的吗?
然后如何解决这些问题?