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

更新 : 2007 年 11 月

クラスにコンストラクタが宣言されておらず、それをエラーとして扱うように基本クラス コンストラクタが ObsoleteAttribute 属性とディレクティブでマーク付けされています。

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

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

Error ID: BC30917

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

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

参照

概念

Visual Basic で使用される属性

属性の適用