インターフェイス '<interfacename>' に対して実装するクラス '<underlyingclassname>' は '<accesslevel>' であるため、このコンテキストではアクセスできません。

更新 : 2007 年 11 月

基になるクラスを CoClassAttribute で指定してインターフェイスが宣言されていますが、そのクラスのアクセス レベルが妨げになりコードからインターフェイスにアクセスできません。

CoClassAttribute をインターフェイスに適用すると、基になるクラスがインターフェイスに関連付けられます。コードでは New 句を使って、インターフェイスからオブジェクトを直接作成できます。

New 句を使用して基のクラスにアクセスすることはできません。たとえば、クラスが Private である場合、コンパイラはこのエラーを生成します。

Error ID: BC31109

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

  1. 基になるクラスのソース コードを管理する立場にある場合は、クラスのアクセス レベルをコードからアクセスできるレベルに調整します。

  2. なんらかの理由で基になるクラスのアクセス レベルを変更できない場合は、New 句を削除します。このインターフェイスからオブジェクトを直接作成することはできません。

参照

概念

Visual Basic でのアクセス レベル

参照

CoClassAttribute

New (Visual Basic)