Auf '<Methodenname>' kann in diesem Kontext nicht zugegriffen werden, da auf den Rückgabetyp nicht zugegriffen werden kann

Aktualisiert: November 2007

'<methodname>' is not accessible in this context because the return type is not accessible

Sie haben eine Funktion mit einem Rückgabetyp aufgerufen, auf den Sie nicht über die Aufrufanweisung zugreifen können. In folgendem Code schlägt beispielsweise der Aufruf von Main an PublicMethod fehl, da der Rückgabetyp PrivateType mit dem Private-Zugriffsmodifizierer in Klasse TestClass deklariert wurde. Daher wird der Kontext, in dem auf den PrivateType zugegriffen werden kann, auf TestClass eingeschränkt.

Class TestClass

    Dim pT As New PrivateType

    Private Class PrivateType
    End Class

    '' A corresponding error is returned in this line: 'PublicMethod 
    '' cannot expose 'PrivateType' in namespace 'ConsoleApplication1' 
    '' through class 'TestClass'.
    'Public Function PublicMethod() As PrivateType
    '    Return Nothing
    'End Function

End Class

Module Module1

    Sub Main()

        Dim tc As TestClass
        '' This error occurs here, because the data type returned by 
        '' PublicMethod()is declared Private in class TestClass and 
        '' cannot be accessed from here.
        'Console.WriteLine(tc.PublicMethod())

    End Sub

End Module

Fehler-ID: BC36665 und BC36666

So beheben Sie diesen Fehler

  • Wenn auf die Typdefinition zugegriffen werden kann, ändern Sie den Zugriffsmodifizierer von Private in Public.

  • Ändern Sie den Rückgabetyp der Funktion, wenn Sie darauf zugreifen können.

  • Schreiben Sie eine Methode oder eine Erweiterungsmethode, die einen Typ zurückgibt, auf den zugegriffen werden kann.

Siehe auch

Konzepte

Zugriffsebenen in Visual Basic