擴充套件方法類,必須是靜態的類,以及靜態方法。
public static class exmethod
item.add(tt);
}return item;
}/// ///
///
///
///
///
///
public static listgetmodelitem(this datatable @dt) where t : new()
/// ///
///
///
///
///
///
///
public static t getmodel(this datarow @dr, datacolumncollection dcc, string split) where t : new()
if (pi.propertytype.isenum)
", value)), null);
}else
}return _newt;
}/// ///
///
///
///
///
///
public static t getmodel(this datatable @dt, string split) where t : new()
return getmodel(dt.rows[0], dt.columns, split);
}/// ///
///
///
///
///
public static t getmodel(this datatable @dt) where t : new()
return getmodel(dt.rows[0], dt.columns, null);
}}
用個簡單的例子來說明一下上面的方法吧。
在資料表中有一張【tablename】表,表的字段有四字分別是 field1、field2、field3、field4。
同時建立乙個table的模型類如下所示:
public class tablename
public string field2
public string field3
public string field4
}
表的結構和類的結構一樣
現在要獲取乙個tablename表裡所有資料
一般正常情況如下:
string sqlquery = string.format("[0}",select * from tablename);
datatable dt = databasehelper.getdatatable(sqlquery);
listitem = new list最好判斷一下dt是否為空
foreach(datarow dr in dt.rows)
",dr["field1"]);
tn.field2 = string.format("",dr["field2"]);
tn.field3 = string.format("",dr["field3"]);
tn.field4 = string.format("",dr["field4"]);
item.add(tn);
}//現在將返回的資料,轉換成物件了資料了。
如果又有 tablename1這樣一張表,同樣也有乙個物件的 tablename1類模型
同樣要獲取 tablename裡的資料轉成 list集合
又得寫 一遍
foreach(datarow dr in dt.rows)
現在寫乙個通用的方法
只要傳入乙個物件模型就可以,返回 物件模型資料集合。
public static listgetmodelitem(datatable dt)
將上面那段**放到擴充套件方法裡如下所示:
sqlquery = string.format("","select * from tablename");
listitem = databasehelper.getdatatable(sqlquery).getmodeitem();
sqlquery = string.format("","select * from tablenam1");
listitem = databasehelper.getdatatable(sqlquery).getmodelitem();
這樣就不用想要表資料的時候,都要去寫乙個foreach來對物件模型進行賦值了
這樣的話通過擴充套件方法就挺了,用起來也方便許多。
JS針對字串的方法擴充套件
在前端的開發工作中,我們經常會遇到這樣的情況 從伺服器端獲取到的資料需要進行轉義後才能在頁面上進行展示,在js中我們可以對字串進行一次擴充套件以便於使用。字串方法擴充套件 function elseif this 1 else for method in stringextends 在上述 中我們對...
DataTable擴充套件 轉化實體ToList
直接上 根據屬性進行對映 datatable轉化成實體list public static class datatableextension list entites new list foreach datarow dr in dt.rows entites.add t return entite...
DataTable方法總結
1 初始化datatable datatable dt1 new datatable dt1.columns.add id typeof int dt1.columns.add names typeof string dt1.columns id unique true dt1.primarykey...