webForumDet fria alternativet

Slippa skapa en instans av klassen?

.NET

5 svar · 515 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Om jag har en klass (ett cs-dokument) med en funktion så måste jag ju instantiera (stavning?) klassen först så här:

        klass k = new klass();
        k.minfunktion();

Men hur gör man för att kunna använda en funktion direkt så här:

string s;
s.minfunktion();
Medlem sedan sep. 2005673 inlägg
#2

Kom på det, om man gör funktionen i klassen "static" behöver man inte skapa ett objekt först! :)

puplic static function() {}
Medlem sedan dec. 19996 522 inlägg
#3

Man ska vara försiktig med statiska metoder pg. av trådningsproblematiken

Medlem sedan sep. 2005673 inlägg
#4

Vad menas med det? Finns det andra bättre sätt att göra samma sak?

Medlem sedan dec. 19996 522 inlägg
#5

Ja om flera använder metoden samtidigt kan det i vissa lägen bli problem, det beror på vad metoden gör helt enkelt. Du kan lösa det genom att sätta locks med monitor eller dylikt, bara så att du är medveten om det. Vad ska metoden göra, man ska inte använda statiska metoder enbart för att det blir enklare att skriva, vad ska metoden göra, hur hänger den ihop med klassen

Medlem sedan sep. 2005673 inlägg
#6

Det är några olika småfunktioner... exempelvis en enkel funktion som gör första bokstaven i en sträng stor. Känns krångligt om man ska behöva skapa ett objekt varje gång som man där man slänger in strängen istället för att bara skriva class.FirstLetterUp(string);

Det är en metod som kommer att anropas ofta så jag kanske får problem!?

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)