C# 匿名对象 增加属性
dynamic data = new System.Dynamic.ExpandoObject();
IDictionary<string, object> dictionary = (IDictionary<string, object>)data;
dictionary.Add("FirstName", "Bob");
dictionary.Add("LastName", "Smith");
dictionary.Add("Arry_01", new List<object>());
dynamic data1 = new System.Dynamic.ExpandoObject();
((IDictionary<string, object>)data1).Add("AAA","=101");
((IDictionary<string, object>)data1).Add("BBB","=101");
data.Arry_01.Add(data1);
private void button1_Click(object sender, EventArgs e)
{ dynamic expando = new ExpandoObject();
expando.Name = "Brian";
expando.Country = "USA";
// Add properties dynamically to expando
AddProperty(expando, "Language", "English"); // Add a LanguageChanged event and predefined event handler
AddEvent(expando, "LanguageChanged", eventHandler);
}
public static void AddProperty(ExpandoObject expando, string propertyName, object propertyValue)
{
//扩展对象支持IDictionary,因此我们可以像这样扩展它
var expandoDict = expando as IDictionary<string, object>;
if (expandoDict.ContainsKey(propertyName)) //是否包含该属性
expandoDict[propertyName] = propertyValue;
else
expandoDict.Add(propertyName, propertyValue);
} public static void AddEvent(ExpandoObject expando, string eventName, Action<object, EventArgs> handler)
{
var expandoDict = expando as IDictionary<string, object>;
if (expandoDict.ContainsKey(eventName))
expandoDict[eventName] = handler;
else
expandoDict.Add(eventName, handler);
}
public event Action<object, EventArgs> eventHandler;
C# 匿名对象 增加属性的更多相关文章
- C#读取匿名对象的属性值的方法总结
目录 1.通过反射的方式获取属性值 2.新建个扩展方法,将object转成对应的匿名对象 通过new出匿名对象,可以直接调用该匿名对象的属性名,获取属性值. var objUser = new {Na ...
- c# 匿名对象增加动态属性
在开发过程中碰到了一个需求,需要动态创建对象及其动态属性.在尝试几种方法后,最后完成了需求,记录下过程,给园友参考下 1.动态创建对象一:匿名对象 ",Birthday =DateTime. ...
- VUE 动态给对象增加属性,并触发视图更新。
在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. 根据官方文档定义 ...
- Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static
package com.swift; //使用无参构造方法自动生成对象,序号不断自增 public class Person { private static int count; //如果在定义类时 ...
- C# - 匿名对象属性的赋值与取值
在new出匿名对象的函数内可以直接调用该匿名对象的属性取值. 可是在其它函数就无法调用匿名对象的属性或方法. 这时,我们可以通过c#的反射机制取值: 文章出处:https://www.cnblogs. ...
- mongodb用mongoose查库的对象,不能增加属性
node + koa2 + mongodb 写了一个给前端的接口 如果不是写这个接口,这辈子都发现不了mongodb里这个大坑 mongoose 是个ODM(Object Document Mappe ...
- 匿名对象 构造方法 重载 构造代码块 this 关键字
一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...
- JAVA 匿名对象
/* 匿名对象: 没有名字的对象 匿名对象的使用方式之一: 当对对象方法只调用一次时,我们可以用匿名对象来完成,比较简化. 匿名对象的使用方式之二: 匿名对象可以被当做实参传递 */ class Ca ...
- JAVA_SE基础——27.匿名对象
黑马程序员入学blog... 匿名对象:没有引用类型变量指向的对象称作为匿名对象. 匿名对象要注意的事项:1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到.2. 两个匿名对象永远都不可能是同 ...
随机推荐
- Centos7 安装多版本php 并添加swoole拓展
服务器默认安装了php7 直接使用lnmp工具包安装php5.6 使用之前的lnmp安装包,切换到root sudo su - 运行 选择5.6 安装完成 没有安装swoole拓展 由官方https: ...
- 关于Linux文本处理“三剑客”的一些小操作。
Linux文本处理“三剑客”,即grep.sed.awk,这是Linux中最核心 的3个命令. 一.首先做个简单的介绍: 1.awk:linux三剑客老大,过滤,输出内容,一门语言.NR代表行号. 2 ...
- 关于一个查询的JAVA界面,希望对你有启发
package work2; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; ...
- python之cookies
#cookies保存在文档头的内部,将cookies信息保存在文档中 userinfo={'} r=requests.get('http://httpbin.org/get',cookies=user ...
- 格式化hdfs以及namnode没启动
先stop-all.sh 删除hdfs-site.xml中的这两个目录 然后删除core-site.xml 中的这个目录 然后格式化hdfs hdfs namenode -format 即可启动成功 ...
- GitHub从小白到熟悉<一>
注册开始
- 如何用纯 CSS 创作出平滑的层叠海浪特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/JvmBdE 可交互视频教 ...
- Peter and Snow Blower CodeForces - 613A (点到线段距离)
大意: 给定多边形, 给定点$P$, 求一个以$P$为圆心的最小的圆环包含整个多边形. #include <iostream> #include <cmath> #define ...
- js创建jsonArray传输至后台及后台解析
//产品清单 //产品数量长度 var cnbvLength = FieldCount9 + 1; var arrayList=[]; for(var i = 0; i < cnbvLength ...
- JS基础_强制类型转换-Boolean
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...