猿问

表达一种对象的 C# 最佳实践

我正在构建一个类以在 C# 上使用 user32.dll 自动执行外部程序。


我发现当我在 a 上插入和提交文本(它的 ID 代码)时TextBox,可以以 a 的形式抛出和处理一些异常MessageBox,直到这里,一切正常。


此异常可能类似于“打印机缺纸”、“代码无效”等...


这是问题:

如果我有一个方法GetErrorBox,基于最佳实践,我应该用这个方法返回什么?


public static bool GetErrorBox()

{

    // Test if ErrorBox Out Of Papper Exists

    if (CrossApplicationHandler.WindowExists("#####", "#######"))

        return ?;

    // Test if ErrorBox Invalid Code Exists

    else if (CrossApplicationHandler.WindowExists("#####", "#####"))

        return ?;

    else return ?; 

}

编辑


我可以返回不同的strings并在调用者身上处理它,抛出不同的exceptions,但我相信更清晰,最好的方法是Enum像用户@Mabakay aswered 一样返回。


谢谢你们,如果我在这个问题上表达自己时遇到了一些麻烦,我很抱歉。


这是解决方案:


public enum ErrorBox

{

    None = 0,

    OutOfPapper,

    InvalidCode,

    ...

}


public static ErrorBox GetErrorBox()

{

    ...

}


浮云间
浏览 164回答 1
1回答

一只甜甜圈

基于带有前缀 Has/Was/Is...的最佳实践方法应该返回 bool。在您的情况下,您可以使用 enum 返回错误框的实际状态。public enum ErrorBox{    None = 0,    OutOfPapper,    InvalidCode,    ...}public static ErrorBox GetErrorBox(){    ...}
随时随地看视频慕课网APP
我要回答