c# – .NET 4.0中动态语言运行时的限制是什么?
发布时间:2020-12-15 08:25:34 所属栏目:百科 来源:网络整理
导读:我知道匿名函数不支持作为动态方法调用的参数. .NET 4.0中DLR的其他此类限制是什么? 解决方法 你可以使用匿名函数,你只需要先抛出它们: dynamic list = new Liststring() { "10","20" };dynamic converted = list.ConvertAll((Funcstring,int) (x = int.Pa
我知道匿名函数不支持作为动态方法调用的参数. .NET 4.0中DLR的其他此类限制是什么?
解决方法
你可以使用匿名函数,你只需要先抛出它们:
dynamic list = new List<string>() { "10","20" }; dynamic converted = list.ConvertAll((Func<string,int>) (x => int.Parse(x))); 方法组转换也是如此: foo.Click += (EventHandler) MyClickHandler; 到目前为止我遇到的其他限制: >静态方法和构造函数在类型方面不能是动态的,但在参数方面可以是动态的 class Invalid : IEnumerable<dynamic> class Valid : List<dynamic> >扩展方法在执行时是不可发现的(但您可以使用动态参数直接调用静态方法) (请注意,这些是C#4.0的限制和DLR本身一样多.我的印象就是你的意思.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |