Изменены рекомендации по дизайну класса .NET;текущая рекомендация должна быть производной от Exception
, а не от 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")
{ }
}
Обратите внимание, что вы все равно должны следовать всем остальным рекомендации для пользовательских исключений , таких как сериализация, конструктор без параметров и т. д.