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

更新 : 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: BC41001

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

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

参照

概念

Visual Basic で使用される属性

属性の適用