Здравствуйте, QrystaL, Вы писали:
В поддержку к ответу _FRED_
Если нет особых оснований — вариант 2. Принцип тот же, что и с перегрузками методов: все перегрузки должны делать одно и то же.
* исключение: если у нас data-класс или структура, и мы следуем рекомендации (см вторую ссылку)
Do use constructor parameters as shortcuts for setting main properties.
То, разумеется, код в конструкторе будет разным.
Оф. гадлайны:
http://msdn.microsoft.com/en-us/library/3f80506d(VS.71).aspx
http://msdn.microsoft.com/en-us/library/ms229060.aspx
Кто как пишет и почему?
Вариант 1:
public class Exception1 : Exception
{
public Exception1()
{
}
public Exception1(String message)
: base(message)
{
}
public Exception1(String message, Exception innerException)
: base(message, innerException)
{
}
}
Вариант 2:
public class Exception2 : Exception
{
public Exception2()
: this(String.Empty)
{
}
public Exception2(String message)
: this(message, null)
{
}
public Exception2(String message, Exception innerException)
: base(message, innerException)
{
}
}
Вариант 3
???