Domanda sui campi statici
Domanda
Sto cercando di capire come ottenere e impostare le proprietà per i campi, ed eseguire questo problema, qualcuno può spiegarmi perché ho dovuto rendere statico il campo int X per farlo funzionare?
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;
}
}
}
Soluzione
Dato che stavi usando il campo in un contesto statico, in questo caso il metodo public
static
void Main
. Poiché la tua classe Program
viene eseguita staticamente, non esiste un'istanza e pertanto non puoi accedere a nessun membro dell'istanza.
Altri suggerimenti
perché è utilizzato in un metodo statico
Poiché Main
è statico, non è possibile accedere alle istanze non statiche dall'esterno.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow