表示一种对象的C#最佳做法

时间:2018-08-14 20:03:00

标签: c#

我正在使用C#上的user32.dll构建一个类来自动化外部程序。

我要指出的是,当我在TextBox上插入并提交文本(其ID代码)时,可以以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哭了。

谢谢大家,如果我在表达这个问题上遇到困难时表示抱歉。

这是解决方案:

public enum ErrorBox
{
    None = 0,
    OutOfPapper,
    InvalidCode,
    ...
}

public static ErrorBox GetErrorBox()
{
    ...
}

1 个答案:

答案 0 :(得分:1)

基于具有前缀Has / Was / Is ...的 The Best Practices 方法,应返回bool。在您的情况下,您可以使用enum返回错误框的实际状态。

public enum ErrorBox
{
    None = 0,
    OutOfPapper,
    InvalidCode,
    ...
}

public static ErrorBox GetErrorBox()
{
    ...
}