C# で基本コンストラクターを呼び出す 質問する

C# で基本コンストラクターを呼び出す 質問する

基本クラスから継承し、継承したクラスのコンストラクターから基本クラスのコンストラクターに何かを渡したい場合は、どうすればよいでしょうか?

たとえば、Exception クラスを継承する場合は、次のような処理を行います。

class MyExceptionClass : Exception
{
     public MyExceptionClass(string message, string extraInfo)
     {
         //This is where it's all falling apart
         base(message);
     }
}

基本的に私が望んでいるのは、文字列メッセージを基本の Exception クラスに渡すことができるようにすることです。

ベストアンサー1

基本クラスのコンストラクターを適切に呼び出すように、コンストラクターを次のように変更します。

public class MyExceptionClass : Exception
{
    public MyExceptionClass(string message, string extrainfo) : base(message)
    {
        //other stuff here
    }
}

コンストラクターはメソッド内でいつでも呼び出せるものではないことに注意してください。これが、コンストラクター本体での呼び出しでエラーが発生する理由です。

おすすめ記事