-1
可能重複:
Extension method and dynamic object in c#爲什麼動態類型的擴展方法無法解決?
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
可能重複:
Extension method and dynamic object in c#爲什麼動態類型的擴展方法無法解決?
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
它不工作,因爲知道要調用的擴展方法需要知道看上去像什麼的源代碼在編譯之前(包括瞭解哪些指令存在)。運行時此信息不可用。您正在使用的解決方法是一個好方法。
對,所以擴展方法是語法糖。有道理,歡呼。 – briantyler 2012-02-01 12:56:15