dynamic

来源:互联网 发布:sem seo区别 编辑:程序博客网 时间:2024/05/16 17:39

Visual C# 2010 引入了一个新类型 dynamic。 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查。 大多数情况下,该对象就像具有类型 object 一样。 在编译时,将假定类型化为 dynamic 的元素支持任何操作。 因此,您不必考虑对象是从 COM API、从动态语言(例如 IronPython)、从 HTML 文档对象模型 (DOM)、从反射还是从程序中的其他位置获取自己的值。 但是,如果代码无效,则在运行时会捕获到错误。
dynamic可以简化反射。

 Type ty = Type.GetType(_showModel.widgetName);            sub_widget = Activator.CreateInstance(ty) as UserControl;//获取窗体初始化方法的信息MethodInfo methodInitial = ty.GetMethod("Initial");//方法的参数 object[] parameters = new object[] { _showModel.fieldList};methodInitial.Invoke(sub_widget, BindingFlags.Public | BindingFlags.Instance, Type.DefaultBinder, parameters, null); //dynamic show_sub_widget = sub_widget; //show_sub_widget.Initial(_showModel.fieldList);
0 0
原创粉丝点击