System.Dynamic.ExpandoObject 类型的简单使用

  该类型可以实现的是动态添加属性和移除属性,有点类似 js 中对象的操作,非常灵活

 1         static void Main(string[] args)
 2         {
 3             dynamic obj = new System.Dynamic.ExpandoObject();
 4             obj.name = "jj";
 5             obj.age = 10;
 6             obj.gender = 1;
 7
 8             foreach (var item in (IDictionary<string,object>)obj)
 9             {
10                 Console.WriteLine(item.Key + " : " + item.Value);
11             }
12
13             Console.WriteLine("************************************************");
14
15             //动态删除属性
16             var dic = (IDictionary<string,object>)obj;
17             dic.Remove("name");
18             foreach (var item in (IDictionary<string, object>)obj)
19             {
20                 Console.WriteLine(item.Key + " : " + item.Value);
21             }
22
23             Console.Read();
24         }

显示结果:

时间: 2024-10-12 14:58:12

System.Dynamic.ExpandoObject 类型的简单使用的相关文章

MVC 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式

无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 解决方法: ViewBag["xxx&q

c# dynamic动态类型和匿名类(转)

简单示例 dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写 expando.Id = 1; expando.Name = "Test"; string json = Utils.ConvertJson.JsonEncode(expando); //输出{Id:1,Name:'Test'} //动态添加字段 List<string> fieldList = new List<strin

c# dynamic动态类型和匿名类

dynamic类型简单示例 dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写 expando.Id = 1; expando.Name = "Test"; string json = Utils.ConvertJson.JsonEncode(expando); //输出{Id:1,Name:'Test'} 动态添加字段 List<string> fieldList = new List&l

Dynamic - ExpandoObject学习心得

1.  今天下午在做开发过程中,遇到了一个问题,要往Xml文件中添加新的节点,做个xml开发的都知道该怎么做,这不是什么难事,我卡卡卡卡把这个问题解决了,但是新问题又来了,要对xml中对应的节点数据添加属性更改通知功能???我一听到这个需求就蒙了,我上哪去给xml节点数据整TMD属性更改通知啊.哎.....没办法了,胳膊拧不过大腿啊,只能硬着头皮上咯. 2.  通过google.bing.百度的搜索,主要让我发现了有个神奇的玩意,那就是ExpandoObject类型,ExpandoObject归

dynamic获取类型可变的json对象

使用dynamic获取类型可变的json对象 Dictionary<string, object> dict = new Dictionary<string, object>(); List<dynamic> lst = new List<dynamic>() { new { aa = 1, bb = "2" } }; Type type = lst[0].GetType(); var ps = type.GetProperties();

“System.IO.FileNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生

这个错误是我在打包的时候,发现的,因为我移动了我的工程的位置(从C盘移动到了D盘),看一下出错的代码: Dim strDB As String = System.Configuration.ConfigurationSettings.AppSettings("DBUser") '这里修改配置文件就可以确定是查询那个表了. '/// <summary> '/// depiction:<实例化一个DAL中的User表的类> '/// </summary>

[转帖]System Dynamic Management Views

System Dynamic Management Views https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views?view=sql-server-2017 APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel

Json.net实现方便的Json转C#(dynamic动态类型)对象

以前需要将一段json字符串转换为C#对象时,一般都是定义一个与之对应的实体类来接收.这样做有一个很大的缺点,就是当字符串特别长,属性特别多,又有嵌套时,手敲这个实体类就非常痛苦. 比如之前做的一个接收百度七天天气预报的API,层层嵌套,很痛苦. C# 4.0 之后有了动态类型dynamic.用这个东西配合Json.net可以实现不用定义实体类的json转dynamic类型对象. 以下示例需要先引用Newtonsoft.Json.dll public class Person { public

.net ——流的类型体系简单介绍

流的类型体系 基础流 装饰器流 包装器类 帮助类 继承自基本的stream流 在基础Stream上添加的功能 数据传输 对文件流的操作变简单 基础流 Stream 对应的后备存储是文件 内存 网络资源 FileStream MemoryStream NetWorkStream IsolatedStorgaeFileStream: 继承自FileStream 感觉还是挺类Java的. 装饰器流 BufferdStream DeflateStream GZipStream CryptoStream