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