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;
        }
    }
}
Était-ce utile?

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
scroll top