Rumah >pembangunan bahagian belakang >C++ >Mengapa Saya Tidak Boleh Mengakses Ahli Statik dengan Contoh dalam C#?

Mengapa Saya Tidak Boleh Mengakses Ahli Statik dengan Contoh dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-27 15:01:10215semak imbas

Why Can't I Access Static Members with an Instance in C#?

wawancara ahli statik di c#: menyelesaikan "tidak dapat menggunakan contoh kepada ahli rujukan" ralat

<:> Soalan:

Dalam program C#, menggunakan akses sintaks contoh kepada ahli statik akan menyebabkan kesilapan yang "ahli '(nama ahli)' tidak boleh dirujuk oleh contoh". punca akar:

Dalam C#, tidak seperti bahasa lain seperti VB.NET dan Java, ahli statik tidak boleh merujuk akses melalui keadaan. Ahli statik tergolong dalam kelas itu sendiri, bukan satu contoh kelas.

Contoh:

Pertimbangkan kod berikut:

Penyelesaian:

<code class="language-csharp">public class MyClass
{
    public static string StaticProperty { get; set; }
    public static MyClass StaticMethod() { /* code */ }
}

public class TestClass
{
    public void Example()
    {
        // 错误:尝试使用实例访问静态属性
        string value = MyClass.StaticProperty; // 编译错误

        // 正确:使用类引用访问静态方法
        MyClass instance = MyClass.StaticMethod();
    }
}</code>
Untuk mengakses ahli statik, sila gunakan nama kelas sebagai watak terhad. Contohnya:

Kaedah lain:

Untuk membolehkan atribut dapat diakses untuk menggunakan sintaks contoh, padamkan simbol pengubahsuaian

dan mengisytiharkannya sebagai atribut contoh.
<code class="language-csharp">string value = MyClass.StaticProperty;</code>

dengan memahami perbezaan antara ahli statik dan ahli contoh, anda boleh mengelakkan kesilapan "tidak dapat menggunakan contoh untuk mengutip ahli akses" dan mengakses ahli dengan betul dalam program C#. Sila ambil perhatian bahawa dalam yang diubahsuai, mengakses masih tidak betul, kerana ia perlu segera ditimbulkan . Cara akses yang betul mestilah:

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengakses Ahli Statik dengan Contoh dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn