4
我還無法訪問C#4.0預覽。但我很好奇,C#4.0運行時在以下情況下調用重載方法時會做什麼?它是否解決了泛型重載或專用重載。使用動態類型在C#4.0中重載分辨率
public class Foo<T>
{
protected string BarImpl(T value) { return "Bar(T) says: " + value.ToString(); }
protected string BarImpl(int value) { return "Bar(int) says: " + value.ToString(); }
public string Bar(T value)
{
dynamic foo = this;
return foo.BarImpl(value);
}
}
public static void Main(string args[])
{
var f = new Foo<int>();
Console.WriteLine(f.Bar(0));
}
我讀過這個系列......沒有一個類似於我的例子的明確情況,所以我不能確定。我從我讀到的印象中得到Bar(int)會被調用。這將是非常好的,因爲它會使我有可能使用動態作爲實現C#泛型類型專用化的一種方式......直到現在,一直沒有那麼容易(或優雅)的事情。 – LBushkin 2009-06-12 15:24:59