2017-04-03 85 views
1

A碼包含一些冗餘數據我如何刪除冗餘,並簡化我的代碼,而不改變其功能..IDataErrorInfo的減少冗餘

此外,我想知道實現IDataErrorInfo的

公衆的正確方法字符串錯誤公共字符串這[字符串列名]這兩個屬性做檢查空值的工作,我不希望兩個檢查空值。

+1

你是如何確定的,有多餘的代碼,但尚未這樣做不知道代碼是什麼?這是一個功課問題嗎? –

+0

沒有它不是一個功課問題。我只是不想要多餘的代碼..我可以告訴我的實現,但我不知道它是如何可能的。 **公共字符串錯誤**和**公共字符串這[字符串列名] **具有相同的代碼。 –

+0

請在您的問題中添加更多的細節,以瞭解您認爲哪些部分是多餘的。謝謝。 –

回答

0

一般來說,最好使用該屬性驗證,但如果說你的具體的例子 - 你可以刪除這樣的冗餘:

public string Error 
{ 
    get { return this[null]; } 
} 

public string this[string columnName] 
{ 
    get 
    {      
     if (columnName == null || columnName == "UnitCode") { 
      if (String.IsNullOrEmpty(UnitCode)) { 
       return "Unit Code cannot be empty"; 
      } 
     } 
     if (columnName == null || columnName == "UnitName") { 
      if (string.IsNullOrEmpty(UnitName)) { 
       return "Unit Name cannot be Empty"; 
      } 
     } 
     return null; 
    } 
} 
+0

**謝謝** @Evk我將添加自己的邏輯,看看是否有用。 –

+0

我希望這個原理很清楚:當''這個'索引器中'columnName'爲空時 - 表示「驗證所有列」。 – Evk

+0

問題已解決,並感謝您的摘錄。 :)我從來不知道這種具體的方式,直到現在。是的原則非常清楚和理解。 –