1 #region DataTaleエンティティリストスイッチ 2 /// <まとめ> 3 /// DataTaleエンティティリストに 4 /// </要約> 。5 /// <typeParam名= "T"> エンティティ・クラス・タイプ</ typeparam > 6 /// ます。<param name = "表"> データテーブル</ PARAM> 7 /// <戻り値> リストの<T> </戻り値> 8 公衆リスト<T> DataTableToModelList <T> (データテーブル表) 。9 { 10 リスト<T> =一覧新しい新しいリスト<T> (); 11 T T =デフォルト(T); 12 PropertyInfo [] propertypes = NULL ; 13 ストリング TEMPNAME = ストリング.Empty。 14 のforeach(のDataRow行におけるtable.Rows) 15 { 16 、T = Activator.CreateInstance <T> (); 17 propertypes = t.GetType()GetPropertiesの()。 18 のforeach(PropertyInfoプロでpropertypes) 19 { 20 TEMPNAME = pro.Name。 21 もし(table.Columns.Contains(TEMPNAME)) 22 { 23 オブジェクト値= 行[TEMPNAME]。 24 であれば(value.GetType()== typeof演算(System.DBNull)) 25 { 26 値= NULL ; 27 } 28 pro.SetValue(T、値、NULL ); 29 } 30 } 31 list.Add(T)。 32 } 33 リターンリスト。 34は } 35 #endregion 36 37 [ #region のDataRowのエンティティ・クラス・スイッチ 38が /// <まとめ> 39 /// のDataRowエンティティクラススイッチ 40 /// </要約> 41である /// <typeParam名= "T"> エンティティ・クラス・タイプ</ typeParam> 42である /// <PARAM NAME = "行"> のDataRow </ PARAM> 43である /// <戻り値> T </戻り値> 44である 公共 T DataRowToModel <T>(のDataRow行) 45 { 46 47 T T = デフォルト(T)。 48 PropertyInfo [] propertypes = NULL ; 49 文字 TEMPNAME = 文字列.Empty。 50 T = Activator.CreateInstance <T> (); 51 propertypes = t.GetType()GetPropertiesの()。 52 のforeach(PropertyInfoプロでpropertypes) 53 { 54 TEMPNAME = pro.Name。 55 であれば(row.Table.Columns.Contains(TEMPNAME)) 56 { 57 オブジェクト値= 行[TEMPNAME]。 58 もし(value.GetType()== typeof演算(System.DBNull)) 59 { 60 値= NULL ; 61 } 62 pro.SetValue(T、値、NULL ); 63 } 64 } 65 リターンT。 66 } 67 #endregion
学習の記録