Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Variabel instans kelas atau struktur digunakan untuk mengakses Shared variabel, properti, prosedur, atau peristiwa yang ditentukan dalam kelas atau struktur tersebut. Peringatan ini juga dapat terjadi jika variabel instans digunakan untuk mengakses anggota kelas atau struktur yang dibagikan secara implisit, seperti konstanta atau enumerasi, atau kelas atau struktur berlapis.
Tujuan berbagi anggota adalah untuk membuat hanya satu salinan anggota tersebut dan membuat salinan tunggal tersebut tersedia untuk setiap instans kelas atau struktur tempatnya dideklarasikan. Ini konsisten dengan tujuan ini untuk mengakses Shared anggota melalui nama kelas atau strukturnya, daripada melalui variabel yang menyimpan instans individu dari kelas atau struktur tersebut.
Shared Mengakses anggota melalui variabel instans dapat membuat kode Anda lebih sulit dipahami dengan mengaburkan fakta bahwa anggotanya adalah Shared. Selain itu, jika akses tersebut adalah bagian dari ekspresi yang melakukan tindakan lain, seperti Function prosedur yang mengembalikan instans anggota bersama, Visual Basic melewati ekspresi dan tindakan lain yang akan dilakukannya.
Untuk informasi selengkapnya dan contohnya, lihat Dibagikan.
Secara default, pesan ini adalah peringatan. Untuk informasi selengkapnya tentang menyembunyikan peringatan atau memperlakukan peringatan sebagai kesalahan, lihat Mengonfigurasi Peringatan di Visual Basic.
ID Kesalahan: BC42025
Contoh
Contoh berikut menghasilkan bc42025:
Public Class TestClass
Public Shared Sub SayHello()
Console.WriteLine("Hello")
End Sub
End Class
Module Program
Public Sub Main()
Dim tc As New TestClass()
tc.SayHello() ' BC42025.
End Sub
End Module
Untuk mengatasi peringatan ini
Gunakan nama kelas atau struktur yang menentukan Shared anggota untuk mengaksesnya, seperti yang ditunjukkan dalam contoh berikut:
Public Class TestClass
Public Shared Sub SayHello()
Console.WriteLine("Hello")
End Sub
End Class
Module Program
Public Sub Main()
TestClass.SayHello()
End Sub
End Module
Nota
Waspadalah untuk efek cakupan ketika dua elemen pemrograman memiliki nama yang sama. Dalam contoh sebelumnya, jika Anda mendeklarasikan instans dengan menggunakan Dim testClass As TestClass = Nothing, pengkompilasi memperlakukan panggilan testClass.SayHello() sebagai akses metode melalui nama kelas, dan tidak ada peringatan yang terjadi.