Согласно некоторым другим ответам, перечисленным здесь, вы можете передавать параметры в конструктор базового класса. Рекомендуется вызвать конструктор базового класса в начале конструктора для вашего унаследованного класса.
public class MyException : Exception
{
public MyException(string message, string extraInfo) : base(message)
{
}
}
Я отмечаю, что в вашем примере вы никогда не использовали параметр extraInfo
, поэтому я предположил, что вы можете объединить строковый параметр extraInfo
со свойством Message
вашего исключения (похоже, это происходит игнорируется в принятом ответе и коде в вашем вопросе).
Это просто достигается путем вызова конструктора базового класса, а затем обновления свойства Message с дополнительной информацией.
public class MyException: Exception
{
public MyException(string message, string extraInfo) : base($"{message} Extra info: {extraInfo}")
{
}
}