クラス '<classname>' にはアクセス可能な 'Sub New' が含まれていません。このクラスを継承できません。

更新 : 2007 年 11 月

クラスが Inherits ステートメントを使って基本クラスを指定していますが、その基本クラスのどのコンストラクタにもアクセスできません。

これは、目的の基本クラスにコンストラクタがない場合や、別のクラスからのアクセスを禁止するアクセス レベルがコンストラクタに指定されている場合などに起こります。

クラスを継承するとき、コンストラクタでは MyBase を使って基本クラスのコンストラクタを呼び出す必要があります。この呼び出しを作成しない場合、また明示的なコンストラクタも作成しない場合は、Visual Basic によって MyBase.New() を呼び出す暗黙のコンストラクタが自動的に作成されます。

Error ID: BC31399

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

  1. 基本クラスのソース コードに手を加えることができる場合は、その少なくとも 1 つのコンストラクタのアクセス レベルを変更して、別のクラスからコンストラクタにアクセスできるようにします。

  2. 基本クラスのコンストラクタのアクセス レベルを変更できない場合は、別のクラスから継承するか、または継承しないようにします。

参照

概念

継承の基本

Visual Basic でのアクセス レベル

参照

Inherits ステートメント

MyBase

New (Visual Basic)