Pregunta de campos estáticos
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;
}
}
}
Solución
Debido a que estaba utilizando el campo en un contexto estático, en este caso el método public
static
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