我正在尝试编写代码来创建一个 EpicFailException
类作为 ApplicationException
的子类。我必须添加一个将 HelpLink
属性默认为 google.com 的构造函数.以下是我到目前为止所拥有的。对如何应用子类有什么建议吗?
public class ApplicationException : Exception
{
public ApplicationException(string auxMessage, Exception inner) :
base()
{
this.HelpLink = "http://google.com";
}
}
最佳答案
.NET 类设计指南已更改; current recommendation is to derive from Exception
and not from ApplicationException
.
也就是说,如果您需要设置 HelpLink
在许多派生异常中的属性,您可能想要创建一个基类,它需要 HelpLink
的值属性作为参数,然后从中派生:
public abstract MyExceptionBase : Exception
{
protected MyExceptionBase(string message, string helpLink) :
base(message)
{
HelpLink = helpLink;
}
}
public MyException : MyExceptionBase
{
public MyException(string message) :
base(message, "http://www.google.com")
{ }
}
请注意,您仍应关注所有其他 guidelines for custom exceptions ,比如序列化,无参数构造函数等。
关于c# - 如何使用将帮助链接默认为 google.com 的构造函数创建子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851686/