Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Implementowanie klasy "<underlyingclassname>" dla interfejsu "<interfacename>" nie jest dostępne w tym kontekście, ponieważ jest to "<accesslevel>"

Interfejs jest zadeklarowany przy CoClassAttribute użyciu określania klasy bazowej, ale ta klasa ma poziom dostępu, który uniemożliwia uzyskiwanie do niego dostępu przy użyciu kodu.

Zastosowanie elementu CoClassAttribute do interfejsu kojarzy podstawową klasę z interfejsem. Dzięki temu kod może utworzyć obiekt bezpośrednio z interfejsu przy użyciu klauzuli New .

Jeśli kod używający klauzuli New nie ma dostępu do bazowej klasy, na przykład jeśli klasa to Private, kompilator generuje ten błąd.

Identyfikator błędu: BC31109

Aby poprawić ten błąd

  1. Jeśli masz kontrolę źródła nad bazową klasą, dostosuj jej poziom dostępu, aby umożliwić dostęp do niego za pomocą kodu.

  2. Jeśli z jakiegokolwiek powodu nie możesz zmienić poziomu dostępu podstawowej klasy, usuń klauzulę New . Nie można utworzyć obiektu bezpośrednio z tego interfejsu.

Zobacz też