Bagikan melalui


'<methodname>' tidak dapat diakses dalam konteks ini karena jenis kembalian tidak dapat diakses

Anda telah memanggil fungsi yang memiliki jenis kembalian yang tidak dapat diakses dari pernyataan panggilan. Misalnya, dalam kode berikut, panggilan dari Main ke PublicMethod gagal karena jenis kembalian, PrivateType, dideklarasikan dengan Private pengubah akses di kelas TestClass. Oleh karena itu, konteks di mana PrivateType dapat diakses terbatas pada 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 Kesalahan: BC36665 dan BC36666

Untuk memperbaiki kesalahan ini

  • Jika penentuan jenis dapat diakses, ubah pengubah akses dari Private menjadi Public.

  • Ubah jenis kembalian fungsi jika Anda memiliki akses ke sana.

  • Tulis metode atau metode ekstensi yang menampilkan jenis yang dapat diakses.

Lihat juga