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(); } } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。