C#表达某种对象的最佳实践
我正在构建一个类,以使用C#上的user32.dll自动执行外部程序 当我在C#表达某种对象的最佳实践,c#,C#,我正在构建一个类,以使用C#上的user32.dll自动执行外部程序 当我在文本框上插入并提交文本(它是一个ID代码)时,一些异常可以以消息框的形式抛出和处理,直到这里,一切都正常 这种例外情况可能像“打印机缺纸”、“无效代码”等 问题是: 如果我有一个方法GetErrorBox,根据最佳实践,我应该对此方法返回什么 public static bool GetErrorBox() { // Test if ErrorBox Out Of Papper Exists if (Cr
文本框
上插入并提交文本(它是一个ID代码)时,一些异常可以以消息框
的形式抛出和处理,直到这里,一切都正常
这种例外情况可能像“打印机缺纸”、“无效代码”等
问题是:
如果我有一个方法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 ?;
}
编辑
我可以返回不同的字符串
并在调用者身上处理它,抛出不同的异常
,但我相信更清楚,最好的方法是像用户@Mabakay aswered那样返回Enum
谢谢你们,如果我在这个问题上表达自己时遇到了一些麻烦,我很抱歉
以下是解决方案:
public enum ErrorBox
{
None = 0,
OutOfPapper,
InvalidCode,
...
}
public static ErrorBox GetErrorBox()
{
...
}
基于最佳实践前缀为Has/Was/Is的方法。。。应该还布尔。在您的情况下,可以使用enum返回错误框的实际状态
public enum ErrorBox
{
None = 0,
OutOfPapper,
InvalidCode,
...
}
public static ErrorBox GetErrorBox()
{
...
}
嗯?我不确定我是否理解这个问题。呃……一个粗略的猜测:如果窗口存在,可能返回
true
,如果不存在,则返回false
?根据当前的返回类型,您应该返回bool
…如果您指定一个以开头的方法Has
(或Is
或Does
,等等),我希望该方法返回true
或false
(一个布尔值)。异常永远不会以messageBox的形式抛出(您的?)代码最终会处理某些异常,并在捕获时显示messageBox。你的问题是非常不明确的,当谈到“最佳实践”时,问题是它完全是基于观点的。我的最佳实践可能是总是在方法前面加上m__
,这样我知道这是一种方法。其他人可能有另一个系统。@gunr217通过对你的练习说“eww”来证明你的观点。如果您的方法是基于动词的,而属性/变量是基于名词的,那么就不需要了。@itsme86对于记录来说,m__
只是一个例子。这篇评论试图表达一般回答“最佳实践”问题的失败。这就是我想要的,我相信使用enum是最好的方法。多谢各位@Mabakay@gunr2171“最佳实践”是基于大多数人的意见,而不是个人的意见。你可以把它理解为标准化的一种形式。“其他人可能有另一个系统。”没错。但你不能称之为“最佳实践”。