2017-04-03 86 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

问题已解决,并感谢您的摘录。 :)我从来不知道这种具体的方式,直到现在。是的原则非常清楚和理解。 –