Pregunta

Estoy tratando de entender las propiedades get y set para los campos, y me encuentro con este problema, ¿alguien puede explicarme por qué tuve que hacer que el campo int X sea estático para que esto funcione?

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;
        }
    }
}
¿Fue útil?

Solución

Debido a que estaba utilizando el campo en un contexto estático, en este caso el método publicstatic void Main . Como su clase Program simplemente se ejecuta estáticamente, no hay una instancia y, por lo tanto, no puede acceder a ningún miembro de la instancia.

Otros consejos

porque se usa en un método estático

Dado que Main es estático, no puede acceder a instancias no estáticas desde fuera de él.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top