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();
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。