2011-08-30 76 views
1

我正在使用一個多用途存儲過程,該方法爲Claim或Policy執行插入或更新操作。我只想創建一個DAL方法來調用此更新/插入。DAL更新方法的通用方法簽名

我有一個IBaseAdjustment,其中包含聲明對象和策略對象的所有屬性。聲明是策略的一個子集,因此它將繼承策略。存儲過程設置爲默認值,如果沒有傳入任何值,所以我使用可能的空屬性。

我卡在Update調用的方法簽名上。我有

public bool UpdateManualAdjustmentTransaction<T>() where T : IBaseAdjustment 
    {} 

我只是不知道如何設置基準以我的實體立即設置我本來以爲會是這樣的

IbaseAdjustment _adjustment = T as IBaseAdjustment; 

的參數,但它不喜歡這一點。建議? 「感謝

+0

我想我把它公開了bool UpdateManualAdjustmentTransaction(IBaseAdjustment調整) {}? – Tim

+0

你應該將T作爲一種類型來處理.T作爲IBaseAdjustment根本沒有意義。我不清楚你想在該功能中進行調整。這個調整是從哪裏來的。也許你的意思是有像公共布爾更新(T調)其中T:IBaseAdjustment,那麼你可以使用調整,因爲它是一個IBaseAdjustment。但是也許你不需要泛型。 – Teudimundo

回答

2

如果你只是要使用的界面,沒有必要爲這是在所有的通用方法:

public bool UpdateManualAdjustmentTransaction(IBaseAdjustment baseAdjustment) 
{ 
    // use baseAdjustment 
} 

這將讓你通過你的任何實體,這方法直接。

+0

這就是我在發佈問題約2秒後想出來的,然後再讀回來的。我想我需要休息一下;)謝謝 – Tim