<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      它位于 System.Dynamic 命名空間中。與普通的 C# 類型不同,ExpandoObject 允許在運行時動態地添加、刪除或修改其成員(屬性或方法)。這使得它在一些需要高度靈活性和動態性的數據結構場景中非常有用。
      ExpandoObject 的基本特性
      動態成員訪問:可以在運行時添加或移除屬性和方法。
      弱類型化:不像強類型的 C# 類,ExpandoObject 不需要在編譯時定義其成員,這意味著編譯時不會檢查成員的存在。
      字典訪問:ExpandoObject 實現了 IDictionary<string, object> 接口,可以像使用字典一樣訪問其成員。
      動態數據處理:在處理結構不固定的數據時,ExpandoObject 非常有用。例如,處理 JSON 數據,或者從 API 獲取的不確定結構的數據時,可以使用 ExpandoObject 來方便地訪問和操作這些數據。

      using System;
      using System.Dynamic;
      
      class Program
      {
          static void Main()
          {
              dynamic expando = new ExpandoObject();
              expando.FirstName = "John";
              expando.LastName = "Doe";
      
              // 添加新的屬性
              expando.Age = 25;
      
              // 動態方法
              expando.FullName = (Func<string>)(() => $"{expando.FirstName} {expando.LastName}");
      
              Console.WriteLine(expando.FullName());  // 輸出: John Doe
      
              // 作為字典訪問
              var dictionary = (IDictionary<string, object>)expando;
              foreach (var kvp in dictionary)
              {
                  Console.WriteLine($"{kvp.Key}: {kvp.Value}");
              }
          }
      }

      示例2

      dynamic r = new ExpandoObject();
      foreach (var i in list)
      {
          (r as ICollection<KeyValuePair<string, object>>).Add(new KeyValuePair<string, object>(i.SFA_ACTION_ID, i.ISSHOW == 0 ? false : true));
      }

      示例3

      dynamic dynEO = new ExpandoObject();
      dynEO.number = 10;
      dynEO.Increment = new Action(() => { dynEO.number++; });
      Console.WriteLine(dynEO.number);
      dynEO.Increment();
      Console.WriteLine(dynEO.number);

      示例4 枚舉所有成員

      foreach (var property in (IDictionary<String, Object>)dynEO)
      {
           Console.WriteLine(property.Key + ": " + property.Value);
      }

      示例5 接收屬性的更改通知

      static void Main(string[] args)
      {
         ………
          ((INotifyPropertyChanged)dynEO).PropertyChanged += new PropertyChangedEventHandler(Program_PropertyChanged);
          dynEO.Name = "changed";
          dynEO.Name = "another";
          Console.ReadLine();
      }
      
      static void Program_PropertyChanged(object sender, PropertyChangedEventArgs e)
      {
          Console.WriteLine("屬性{0} 已更改", e.PropertyName);
      }

      來源:https://blog.csdn.net/weixin_45497805/article/details/140142978
      https://blog.csdn.net/WuLex/article/details/124546365

      posted on 2024-11-13 16:26  邢帥杰  閱讀(589)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产av午夜精品福利| 熟女一区| 国产av一区二区久久蜜臀| 99RE8这里有精品热视频 | 狠狠躁夜夜躁人人爽天天69| 蜜臀久久精品亚洲一区| 国产精品一区二区av片| 欧美乱码伦视频免费| 久久理论片午夜琪琪电影网| 亚洲真人无码永久在线| 成人深夜节目在线观看| 天堂www在线中文| 欧美熟妇乱子伦XX视频| 福利一区二区1000| 精品人妻免费看一区二区三区| 欧美日韩精品一区二区三区不卡| 国产成人人综合亚洲欧美丁香花| 国产超碰人人爽人人做人人添| 精品一区二区成人精品| 99精品国产综合久久久久五月天| 国精品午夜福利不卡视频| 国产成AV人片在线观看天堂无码| 当涂县| 欧美嫩交一区二区三区| 欧美一本大道香蕉综合视频| 少妇人妻偷人偷人精品| 亚洲伊人久久综合成人| 国产清纯在线一区二区| 南雄市| 人人妻人人澡人人爽人人精品av| 久久青青草原亚洲AV无码麻豆| 日本肉体xxxx裸交| 色婷婷久久综合中文久久一本| 视频一区视频二区卡通动漫| 成人AV专区精品无码国产| 日本精品不卡一二三区| 夜夜嗨久久人成在日日夜夜| 国产成人a在线观看视频免费| 久久国内精品一国内精品| 国内精品一区二区在线观看| 日本大片在线看黄a∨免费|