我有一種感覺,這可能是一個愚蠢的問題,但我不能來簡單的解決方案,我敢肯定存在。C#:處理返回值中的錯誤組合
我有一個C#類,驗證配置文件對其他文件。
可以有兩個類型的錯誤,這被表示在一個枚舉:
public enum ErrorType
{
VersionsMismatch,
UnsupportedCombination
}
有表示該錯誤的結構:
public struct ValiditionResult
{
public bool Valid { get; set; }
public string ErrorMessage { get; set; }
public ErrorType ErrorType { get; set; }
public List<ConfProperties> InvalidProperties {get;set;}
}
功能接口看起來像這樣:
public ValiditionResult Validate(string confFile, string progFile)
該結構體代表文件中所需的修復程序。
因此,如果有兩種類型的修復,應該指定它。
什麼是表明所有錯誤發生的最佳方式(未來可能有兩個以上)?
要返回ValidationResult結構體的列表?做一些異或的枚舉?任何其他想法?
+1並刪除了我的副本。 – zimdanen 2012-04-25 17:59:57
更多信息,請訪問:http://msdn.microsoft.com/en-us/library/cc138362.aspx查看枚舉類型作爲位標誌。 – zimdanen 2012-04-25 18:00:40
標誌很棒,我一直都在使用它們。但是,您必須瞭解您的開發人員受衆。如果很多新開發人員會查看此代碼,則可能需要使用List。在[Flags]枚舉中使用按位運算符可能會讓人困惑,並且可能會誤用它。 – Scen 2012-04-25 18:08:44