關(guān)鍵字:<u>面向?qū)ο?OOP</u>, <u>封裝</u>, <u>重構(gòu)</u>

c語言表白程序
項(xiàng)目程序里有如下方法定義:
/// <summary>
/// 將數(shù)據(jù)批量insert到db表里
/// </summary>
/// <param name="table"></param>
/// <param name="tableColumName"></param>
/// <param name="destinationTableName"></param>
/// <returns></returns>
public bool BulkCopy(DataTable table, string[] tableColumName, string destinationTableName = "T_AlipayRefundRecord")
{
return OrderDataSave.MySqlBulkCopy(table, destinationTableName, tableColumName);
}
通過檢測調(diào)用代碼,發(fā)現(xiàn)都是這樣的:
var dt = new DataTable();
......
......
string[] sTableColumName = CommonFun.GetColumNameOfDataTable(dt);
// 將退款數(shù)據(jù)批量insert到dbo.T_AlipayRefundRecord表里
bResult = alipayRefundBll.BulkCopy(dt, sTableColumName);
既然如此,那么,我認(rèn)為,有必要把獲取DataTable列數(shù)組的行遷移到BulkCopy方法里,實(shí)現(xiàn)封裝。
即方法BulkCopy的方法體為:
public bool BulkCopy(DataTable table, string destinationTableName = "T_AlipayRefundRecord")
{
string[] tableColumName = CommonFun.GetColumNameOfDataTable(dt);
return OrderDataSave.MySqlBulkCopy(table, destinationTableName, tableColumName);
}
這樣調(diào)用的代碼就更簡潔了:
var dt = new DataTable();
......
......
// 將退款數(shù)據(jù)批量insert到dbo.T_AlipayRefundRecord表里
bResult = alipayRefundBll.BulkCopy(dt);