标签:expandoobject dynamicobj 动态对象
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Dynamic; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { //实例化一个动态对象 dynamic dynamicObj = new ExpandoObject(); //动态添加字段 dynamicObj.Name = "张飞"; //动态添加方法 dynamicObj.DelegateObj = new Action(() => dynamicObj.Name = "关羽"); //执行方法 dynamicObj.DelegateObj(); //输出:关羽 Console.WriteLine(dynamicObj.Name); //删除字段(ExpandoObject对象实现了IDictionary<string, object>接口, //可看成是一个字典对象,所有动态添加的成员都是这个字典对象中的元素,这意味我们不仅可以添加新成员,还可以随时移除不再需要的成员) (dynamicObj as IDictionary<string, object>).Remove("Name"); //再次访问此字段会抛出异常 Console.WriteLine(dynamicObj.Name); Console.ReadKey(); } } }
本文出自 “程序猿的家” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1557139
标签:expandoobject dynamicobj 动态对象
原文地址:http://962410314.blog.51cto.com/7563109/1557139