基底クラス '<baseclassname>' の '<derivedclassname>' において、'<constructorname>' が廃止予定とされたため、この 'Sub New' の最初のステートメントは 'MyBase.New' または 'MyClass.New' を明示的に呼び出す必要があります: '<errormessage>'

クラス コンストラクターは基底クラス コンストラクターを明示的に呼び出しません。暗黙的な基底クラス コンストラクターは、警告として扱う ObsoleteAttribute 属性とディレクティブでマークされます。

派生クラス コンストラクターが基底クラス コンストラクターを呼び出さない場合、Visual Basic はパラメーターなしの基底クラス コンストラクターへの暗黙的な呼び出しを生成しようとします。 引数なしで呼び出すことができるアクセス可能なコンストラクターが基底クラスに存在しない場合、Visual Basic は暗黙的な呼び出しを生成できません。 この場合、必要なコンストラクターは ObsoleteAttribute 属性でマークされるため、Visual Basic で呼び出すことはできません。

ObsoleteAttributeを適用することで、任意のプログラミング要素を使用しなくなったとマークできます。 これを行う場合は、属性の IsError プロパティを True または False に設定できます。 Trueに設定すると、コンパイラは要素の使用試行をエラーとして扱います。 Falseに設定するか、既定で False に設定すると、要素を使用しようとすると、コンパイラによって警告が発行されます。

既定では、IsErrorObsoleteAttribute プロパティがFalseされているため、このメッセージは警告です。 警告を非表示にしたり、警告をエラーとして扱ったりする方法については、「 Visual Basic での警告の構成」を参照してください。

エラー ID: BC41004

このエラーを解決するには

  1. 引用符で囲まれたエラー メッセージを調べて、適切なアクションを実行します。

  2. 派生クラスのMyBase.New()の最初のステートメントとして、MyClass.New()またはSub Newの呼び出しを含めます。