クラス '<classname>' は、基本クラス '<baseclassname>' にある '<constructorname>' が古い形式に設定されているため、'Sub New' を宣言しなければなりません: '<errormessage>'

更新 : 2007 年 11 月

クラス宣言にコンストラクタが含まれていません。また、基本クラスのコンストラクタには、ObsoleteAttribute 属性とこれを警告として扱うディレクティブがマークされています。

派生クラスでコンストラクタが宣言されない場合、Visual Basic は、MyBase.New() を呼び出す暗黙的な、パラメータなしのコンストラクタを生成しようとします。基本クラス内に、引数を指定しないで呼び出すことができるアクセス可能なコンストラクタが存在しない場合、Visual Basic は暗黙のコンストラクタを生成できません。このケースでは、そのようなコンストラクタが ObsoleteAttribute 属性でマーク付けされているため、Visual Basic はこれを呼び出すことができません。

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

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

Error ID: BC41002

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

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

  2. Sub New を使用して、コンストラクタを派生クラスに宣言します。

参照

概念

Visual Basic で使用される属性

属性の適用