'<membername>' は、型 '<typename>' を <containertype> '<containertypename>' 経由でプロジェクトの外側に公開できません。

更新 : 2007 年 11 月

変数、プロシージャ パラメータ、または関数の戻り値がコンテナ外部に公開されていますが、これらの要素はコンテナ外部に公開してはならない型として宣言されています。

次のスケルトン コードは、このエラーが発生する状況の例を示しています。

Private Class privateClass
End Class
Public Class mainClass
    Public exposedVar As New privateClass
End Class

型を Protected、Friend、Protected Friend、または Private として宣言したときは、その宣言コンテキストの外側でのアクセスを制限することを意図しています。このような型を、それよりもアクセス レベルの緩い変数のデータ型として使用することは、この目的に反します。上記のスケルトン コードでは、exposedVar を Public として宣言しており、privateClass をコンテキスト外のコードに公開しようとしています。

Error ID: BC30909

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

  • 変数、プロシージャ パラメータ、または関数の戻り値のアクセス レベルを変更して、少なくとも、そのデータ型のアクセス レベルと同じ厳しさにします。

参照

概念

Visual Basic でのアクセス レベル