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 '
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:
// Static class members namespace MyDataLayer.Section1 { public class MyClass { public class MyItem { public static string Property1 { get; set; } } } }
Accès incorrect (en utilisant la référence d'instance):
using MyDataLayer.Section1; public class MyClass { protected void MyMethod() { MyClass.MyItem oItem = new MyClass.MyItem(); someLiteral.Text = oItem.Property1; // Error! } }
Accès correct (en utilisant le nom de classe):
using MyDataLayer.Section1; public class MyClass { protected void MyMethod() { someLiteral.Text = MyDataLayer.Section1.MyClass.MyItem.Property1; // Correct! } }
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:
public class MyItem { public string Property1 { get; set; } // No longer static }
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!