6
我知道匿名函數不支持作爲動態方法調用的參數。 .NET 4.0中的DLR有哪些其他限制?.NET 4.0中動態語言運行時的侷限性是什麼?
我知道匿名函數不支持作爲動態方法調用的參數。 .NET 4.0中的DLR有哪些其他限制?.NET 4.0中動態語言運行時的侷限性是什麼?
您可以使用匿名函數,你就必須先丟掉。
dynamic list = new List<string>() { "10", "20" };
dynamic converted = list.ConvertAll((Func<string, int>) (x => int.Parse(x)));
同樣是方法組轉換的真實:我遇到這樣
foo.Click += (EventHandler) MyClickHandler;
其他限制遠:
dynamic
在類型約束不能在界面中使用dynamic
的類型參數的類的聲明,但你可以使用它作爲一個基類類型參數,即
class Invalid : IEnumerable<dynamic>
class Valid : List<dynamic>
擴展方法不是在執行時發現(但你可以直接與動態參數調用靜態方法)
dynamic[]
轉換爲IEnumerable<dynamic>
- 這將在發佈時進行修復。dynamic
作爲基類(請注意,這些是C#4.0不亞於DLR本身。我得到的印象是,這是你雖然意味着什麼限制。)
太棒了,很高興能從你那裏得到答案:) – amazedsaint 2009-06-20 11:11:03