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;
  • 相关阅读:
    史上自定义 JavaScript 函数Top 10
    switch
    (不)扩展内置原型((Not) Augmenting Built-in Prototypes)
    for-in循环(for-in Loops)
    for
    在dreamweaver中设置php服务器F12预览的方法介绍
    method
    CSS中background-image【CSS Sprites,base64编码】
    shell编程中的小问题
    常见的linux问题积累
  • 原文地址:https://www.cnblogs.com/enych/p/11729106.html
Copyright © 2011-2022 走看看