Maison > développement back-end > C++ > Pourquoi ne puis-je pas accéder aux membres statiques en C # en utilisant des références d'instance?

Pourquoi ne puis-je pas accéder aux membres statiques en C # en utilisant des références d'instance?

Mary-Kate Olsen
Libérer: 2025-01-27 15:11:11
original
972 Les gens l'ont consulté

Why Can't I Access Static Members in C# Using Instance References?

Accès aux membres statiques en C #: éviter les erreurs de référence d'instance

En C #, l'accès aux membres statiques nécessite de comprendre leur comportement unique. Contrairement aux membres de l'instance, qui appartiennent à des objets spécifiques, les membres statiques appartiennent à la classe elle-même. Tenter d'accéder à un membre statique à l'aide d'une référence d'instance donne l'erreur: "Member '' Impossible n'est pas accessible avec une référence d'instance."

Syntaxe correcte pour l'accès statique des membres:

La bonne façon d'accéder à un membre statique est via le nom de classe, pas une instance de la classe.

illustrons avec un exemple:

<code class="language-csharp">// Static class members
namespace MyDataLayer.Section1
{
    public class MyClass
    {
        public class MyItem
        {
            public static string Property1 { get; set; }
        }
    }
}</code>
Copier après la connexion

Accès incorrect (en utilisant la référence d'instance):

<code class="language-csharp">using MyDataLayer.Section1;

public class MyClass
{
    protected void MyMethod()
    {
        MyClass.MyItem oItem = new MyClass.MyItem(); 
        someLiteral.Text = oItem.Property1; // Error!
    }
}</code>
Copier après la connexion

Accès correct (en utilisant le nom de classe):

<code class="language-csharp">using MyDataLayer.Section1;

public class MyClass
{
    protected void MyMethod()
    {
        someLiteral.Text = MyDataLayer.Section1.MyClass.MyItem.Property1; // Correct!
    }
}</code>
Copier après la connexion

Alternative: supprimer le modificateur static

Si vous devez accéder au membre via une instance, supprimez le mot-clé static de la déclaration du membre:

<code class="language-csharp">public class MyItem
{
    public string Property1 { get; set; } // No longer static
}</code>
Copier après la connexion

Cela fait de Property1 un membre d'instance, permettant à l'accès en utilisant oItem.Property1.

En suivant ces directives, vous pouvez éviter les erreurs courantes lorsque vous travaillez avec des membres statiques en C # et vous assurer que votre code fonctionne correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal