C# Statikus Változó létrehozása adatokkal?
Jávában használtam ilyet hogy:
ClassType myVariableName
{
override toString()
{
return "ez egy módosított változó";
}
}
Ebben az esetben létrehoztam egy ClassType változót, viszont csakis ennek a változónak ha elindítom a ToString() metódusát akkor azt adja ki amit beírtam.
C#-ban ehhez valamiben hasonló dolgot szeretnék csinálni, csak nem metódust akarok felülírni (azt sem találtam meg ha van ilyen C#ban), hanem a változó alváltozóit szeretném módosítani. Ugye normál esetben létrehozom a változót és módosítgatom:
ASD myASD = new ASD();
ASD.X = 123;
ASD.Y = "asdd"...
Viszont én static változót akarok létrehozni, ebben az esetben a kódban nem szerepel parancs ennek a létrehozására, leszámítva azt az egy sort:
static ASD myStaticAsd = new ASD();
de ezután nem tudom a belsőbb dolgokat átírni benne, csak létrehoztam mint valami üres tárolót. A módosítást pedig nem tudom hova írni, mert nem egy metódusban szerepel hanem csak úgy .. van. Mivel statikus. Így néz ki egyenlőre:
public class Skin
{
public Skin()
{
//ide nem rakhatom mert akkor minden új Skin típusú változónál újraírná a DefaultSkin statikus változómat.
}
//az osztály részletei, változók, metódusok
static Skin DefaultSkin = new Skin();
// --> nincs hol változtatni a belsejét <--
}
Szerintem ez lehetséges, legalábbis nagyon remélem :)
Nem teljesen értem, mire akarod ezt használni (lehet, hogy lenne jobb megoldás is), így a kérdésed megválaszolására szorítkozom. Legegyszerűbben a statikus konstruktorral tudod megoldani, amit akarsz. Kódod ennek megfelelően módosítva:
public class Skin
{
public static Skin() //Statikus konstruktor, paramétere nem lehet
{
//DefaultSkin-t itt konfigurálhatod
}
public Skin()
{
// standard konstruktor
}
//az osztály részletei, változók, metódusok
static Skin DefaultSkin = new Skin();
// --> nincs hol változtatni a belsejét <--
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!