成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#反射靜態方法開發實例詳解

開發 后端
如何通過使用C#反射靜態方法開發來填充泛型集合List呢?從DataReader將數據填充到數據實體泛型集合的C#反射靜態方法開發是如何實現的呢?本文向你介紹詳細的內容。

C#反射靜態方法開發在實際的開發中起著很重要的作用,如何通過反射填充泛型集合List的靜態方法呢?就是如何通過反射,從DataReader將數據填充到數據實體泛型集合的靜態方法.那么我們來看看具體的實現方法:

C#反射靜態方法開發實例:

  1. //Kchen.Core.BaseBusinessObject  
  2. //為通用數據實體類,此處僅為限定T所繼承的類型  
  3. public static IList   
  4. FillDataListGeneric(System.Data.IDataReader reader)  
  5.  where T : Kchen.Core.BaseBusinessObject  
  6. {  
  7. //實例化一個List<>泛型集合  
  8. IList DataList = new List();  
  9. while (reader.Read())  
  10. {  
  11. //由于是是未知的類型,所以必須通過  
  12. //Activator.CreateInstance()方法來依據T的類型動態創建數據實體對象  
  13. T RowInstance = Activator.CreateInstance();  
  14. //通過反射取得對象所有的Property  
  15. foreach (PropertyInfo Property in typeof(T).GetProperties())  
  16. {  
  17. //BindingFieldAttribute為自定義的Attribute,用于與數據庫字段進行綁定  
  18. foreach (BindingFieldAttribute   
  19. FieldAttr in Property.GetCustomAttributes(  
  20. typeof(BindingFieldAttribute), true))  
  21. {  
  22. try 
  23. {  
  24. //取得當前數據庫字段的順序  
  25. int Ordinal = reader.GetOrdinal(FieldAttr.FieldName);  
  26. if (reader.GetValue(Ordinal) != DBNull.Value)  
  27. {  
  28. //將DataReader讀取出來的數據填充到對象實體的屬性里  
  29. Property.SetValue(RowInstance,   
  30. Convert.ChangeType(reader.GetValue(Ordinal),   
  31. Property.PropertyType), null);  
  32. }  
  33. }  
  34. catch 
  35. {  
  36. break;  
  37. }  
  38. }  
  39. }  
  40. //將數據實體對象add到泛型集合中  
  41. DataList.Add(RowInstance);  
  42. }  
  43. return DataList;  
  44. }  

調用的時候使用如下代碼

  1. //偽代碼 OleDbDataReader _ds = 創建一個OleDbDataReader   
  2. IList _result =   
  3. Kchen.Utilities.FillDataListGeneric(_ds); 

此C#反射靜態方法開發通過一個實體類型和DateReader,快速的將數據填充到數據實體泛型集合中.

C#反射靜態方法開發實例應用內容就向你介紹到這里,希望對你了解和學習C#反射靜態方法開發有所幫助。

【編輯推薦】

  1. C#線程控制淺析
  2. C#線程優先級淺析
  3. C#語言學習階段淺析
  4. C#讀取word文檔實例淺析
  5. C#讀取Word文檔異常處理解析
責任編輯:仲衡 來源: cnblogs
相關推薦

2009-08-28 12:47:30

C#靜態方法應用

2009-08-28 13:12:56

C#反射實例C#反射

2009-08-28 12:31:06

C#靜態方法

2010-08-13 09:35:08

C#靜態

2021-03-15 08:18:23

C#反射模塊

2009-09-07 06:18:57

C#窗體設計器

2009-08-31 09:47:22

C#靜態變量初始化

2024-03-04 18:49:59

反射C#開發

2009-04-10 09:55:44

C#反射.NET

2024-09-18 00:00:02

反射C#元數據

2009-08-24 16:08:45

C# DrawStri

2009-09-02 17:12:06

C#關機代碼

2009-08-20 11:01:51

C#操作內存

2009-08-18 10:14:19

C#插件構架

2009-09-11 12:31:52

C#實例詳解TypeConvert

2009-08-28 14:09:19

C#靜態類

2009-08-28 12:41:49

靜態方法與非靜態方法

2009-08-12 17:32:44

C#反射方法

2009-08-27 16:00:03

C#靜態字段C#實例字段

2009-08-18 17:05:08

C#操作xml文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码久久久久久丨区2区 | 精品粉嫩aⅴ一区二区三区四区 | 欧美日韩一二三区 | 欧洲一区二区三区 | 夜夜骚| 亚洲91 | 亚洲日本乱码在线观看 | www.操.com| 欧美一区二区三区视频 | 欧美1区2区 | 午夜影院在线观看 | 中文字幕精品视频 | 国产精品久久久久久中文字 | 欧美日韩视频在线 | 国产成人黄色 | www.99热这里只有精品 | 成人精品一区 | 狠狠操狠狠色 | 久久久一二三区 | 99精品欧美一区二区三区综合在线 | www国产亚洲精品 | 欧美在线视频一区二区 | 黄色片免费 | 在线91 | 国产三级在线观看播放 | 国产免费一区二区三区网站免费 | 91在线看| 成人免费三级电影 | 男女污网站 | 可以免费观看的av | 99精品电影| 久久精品久久久久久 | 日韩高清在线观看 | 天天想天天干 | 一级视频在线免费观看 | 日本三级在线网站 | 国产高清精品在线 | 一本一道久久a久久精品蜜桃 | 精品久久99 | 国产精品久久久久久妇女6080 | 国产精品一区二区不卡 |