Question des champs statiques
Question
J'essaie de comprendre les propriétés get et set pour les champs et de me lancer dans cette affaire. Quelqu'un peut-il m'expliquer pourquoi je devais créer le champ int X en statique pour que cela fonctionne?
using System;
namespace ConsoleApplication1
{
class Program
{
public static int X = 30;
public static void Main()
{
var cX = new testme();
cX.intX = 12;
Console.WriteLine(cX.intX);
cX.intX = X;
Console.WriteLine(cX.intX);
Console.ReadKey();
}
}
class testme
{
public int intX
{
get;
set;
}
}
}
La solution
Parce que vous utilisiez le champ dans un contexte statique, dans ce cas, la méthode public
statique
void Main
. Étant donné que votre classe Programme
est exécutée de manière statique, il n'y a pas d'instance et vous ne pouvez donc accéder à aucun membre d'instance.
Autres conseils
car il est utilisé dans une méthode statique
Étant donné que Main
est statique, vous ne pouvez pas accéder à des instances non statiques de l'extérieur.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow