0
我試圖找到答案如何使用委託爲這個例子,但我仍然不知道如何使用它爲我的代碼冗餘。我有這樣的代碼,在我的aplication重複每個dbAction:asp.net將方法的名稱作爲參數傳遞給另一個方法
public bool someDBMethod(params)
{
logDTO ldto = new logDTO("some text");
try
{
if (DALmethod(params)) //DB operation is successfull
{
Log.insertLog(ldto); //inserrt log to DB
return true;
}
catch (System.Data.SqlClient.SqlException ex)
{
Log.insertLog(changeLogStatus(ldto, errStatusEnum.ERR_SQL, ex.Message));
throw new Exception (ex.Message);
}
catch (Exception ex)
{
Log.insertLog(changeLogStatus(ldto, errStatusEnum.ERR, ex.Message));
throw new Exception (ex.Message);
}
}
此代碼是除行不同的DB opperations相同
logDTO ldto = new logDTO("some text");
if (DALmethod(params)) //DB operation is successfull
,我創建DAL具體日誌並調用DAL方法來插入/更新/刪除數據庫。這些DAL方法的參數不一樣,但我可以使用一些包裝器。
我想呼籲任何DAL方法
result = someDBMethod(DALmethod m, params p, logDTO l)
感謝您的幫助