Partager via


'<NomMéthode>' n'est pas accessible dans ce contexte, car le type de retour n'est pas accessible

Mise à jour : novembre 2007

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

Vous avez appelé une fonction qui a un type de retour auquel vous ne pouvez pas accéder à partir de l'instruction appelante. Par exemple, l'appel de Main à PublicMethod échoue dans le code suivant, parce que le type de retour, PrivateType, est déclaré avec le modificateur d'accès Private dans la classe TestClass. Par conséquent, le contexte dans lequel il est possible d'accéder à PrivateType est limité à TestClass.

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

ID d'erreur : BC36665 et BC36666

Pour corriger cette erreur

  • Si la définition de type est accessible, changez le modificateur d'accès Private en Public.

  • Modifiez le type de retour de la fonction si vous y avez accès.

  • Écrivez une méthode ou méthode d'extension qui retourne un type accessible.

Voir aussi

Concepts

Niveaux d'accès dans Visual Basic