1
假設有一個身份的功能,那就是:如何解決C#中的N級多態性問題?
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
香甜。這是正確的嗎?
然後如何解決這些問題?
你將需要詳細闡述,很多。確實,您發佈的代碼不起作用。但是你爲什麼要讓它工作?你的「通用」方法只是使用'T'來調用'f'委託。您可以輕鬆地聲明方法'void F(Func
'void F(Func
這看起來似乎是一個有關C#語言不支持的功能的學術問題。你能給一個實際的用例嗎? – Corey