我不知道你的應用程序架構,所以很難說肯定,但你有一些選擇;
選項1
定義一個基類,然後所有的其他類可以從這個繼承;
public class MyBase {
public int ErrorCode { get; set; }
public string ErrorMessage { get; set; }
public MyBase()
{
ErrorCode = 0;
ErrorMessage = null; // or "";
}
}
然後,您將努力限制爲只需要更新這些如果您有錯誤。
但是您必須更新所有其他類以從中繼承。 (一個痛苦,如果你有很多,那麼你可以使用下面的選項2)
選項2
如果你只在你返回你的結果幾個地方,那麼你就可以在你面前修改您迴應發送。
定義與上面相同的類,但包含用於響應的額外屬性。如此;
public object MyResponse { get; set; }
然後,當你返回你的結果時創建這個類的一個實例。如果您有錯誤更新它們並將MyResponse保留爲空。 否則,將您的正常響應對象放在MyResponse中並將其返回。
選項3
定義同一個班以上,但不繼承它。 更改您的響應,以便返回一個通用對象。
當你返回你的對象時,返回正確的對象或者在出錯的情況下只返回Error對象。
然後你的接收函數需要確定返回的類的類型並處理它。
選項4
你可能有單獨的錯誤報告。
當你有錯誤時,你只需要一個參考號碼,並在其他地方記錄你的錯誤。
接收器獲取該參考號而不是結果,然後查找以確定實際的錯誤是什麼。
「我能看到的最大問題是,我必須更新每一個對象,並且這是爲了迎合這些額外的領域。」 - 你會付出多少努力?爲什麼? – Fildor