zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    15、线程
    17、lambda表达式
    16、sockect
    14、反射(reflect)
    13、集合2
    java 基本类型、包装类、字符串之间的转换
    13、集合1
    12、NIO、AIO、BIO二
    12、NIO、AIO、BIO一
    11、流与文件
  • 原文地址:https://www.cnblogs.com/enych/p/11729106.html
Copyright © 2011-2022 走看看