自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#反射靜態(tài)方法開發(fā)實例詳解

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

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

C#反射靜態(tài)方法開發(fā)實例:

  1. //Kchen.Core.BaseBusinessObject  
  2. //為通用數(shù)據實體類,此處僅為限定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的類型動態(tài)創(chuàng)建數(shù)據實體對象  
  13. T RowInstance = Activator.CreateInstance();  
  14. //通過反射取得對象所有的Property  
  15. foreach (PropertyInfo Property in typeof(T).GetProperties())  
  16. {  
  17. //BindingFieldAttribute為自定義的Attribute,用于與數(shù)據庫字段進行綁定  
  18. foreach (BindingFieldAttribute   
  19. FieldAttr in Property.GetCustomAttributes(  
  20. typeof(BindingFieldAttribute), true))  
  21. {  
  22. try 
  23. {  
  24. //取得當前數(shù)據庫字段的順序  
  25. int Ordinal = reader.GetOrdinal(FieldAttr.FieldName);  
  26. if (reader.GetValue(Ordinal) != DBNull.Value)  
  27. {  
  28. //將DataReader讀取出來的數(shù)據填充到對象實體的屬性里  
  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. //將數(shù)據實體對象add到泛型集合中  
  41. DataList.Add(RowInstance);  
  42. }  
  43. return DataList;  
  44. }  

調用的時候使用如下代碼

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

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

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

【編輯推薦】

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

2009-08-28 12:47:30

C#靜態(tài)方法應用

2009-08-28 13:12:56

C#反射實例C#反射

2009-08-28 12:31:06

C#靜態(tài)方法

2010-08-13 09:35:08

C#靜態(tài)

2021-03-15 08:18:23

C#反射模塊

2009-08-31 09:47:22

C#靜態(tài)變量初始化

2009-09-07 06:18:57

C#窗體設計器

2024-03-04 18:49:59

反射C#開發(fā)

2009-04-10 09:55:44

C#反射.NET

2024-09-18 00:00:02

反射C#元數(shù)據

2009-08-24 16:08:45

C# DrawStri

2009-08-20 11:01:51

C#操作內存

2009-09-11 12:31:52

C#實例詳解TypeConvert

2009-08-18 10:14:19

C#插件構架

2009-09-02 17:12:06

C#關機代碼

2009-08-28 14:09:19

C#靜態(tài)類

2009-08-28 12:41:49

靜態(tài)方法與非靜態(tài)方法

2009-08-12 17:32:44

C#反射方法

2009-08-27 16:00:03

C#靜態(tài)字段C#實例字段

2009-09-04 18:09:12

C# Main函數(shù)
點贊
收藏

51CTO技術棧公眾號