Someone once said:best practice per l'utilizzo di variabili globali in C#
una "variabile globale" è in realtà una variabile si crea semplicemente "contenere alcune informazioni" perché il vostro modello a oggetti è debole, e non avere trovato un "vero scopo" per la variabile di esistere. Le variabili globali sono quasi sempre un segno di una maggiore deformità architettonica.
That might be true. Ma non conosco nessun buon esempio di un programma grande e buono fatto senza variabili globali, e certamente non usato come suggerito in precedenza. Scope is the actual key. Puoi dire in a program with only one class che i suoi parametri sono not global vars. Ma loro sono.
Comunque ...
sto ancora afferrare il concetto di singleton e, per quanto posso dire, non actually non hanno senso in C#. Inoltre ho la sensazione che, quando avere uno stato globale non può essere evitato abbiamo ancora dovremmo evitare semplicemente utilizzando una classe pubblica piena di static properties:
Quindi, se non singletons né una classe pubblica, che cosa dobbiamo fare per avere vars globali in C#?
E quando dovremmo usarli? Supponendo che molto probabilmente non possono essere evitati. Mai.
E perché dovremmo evitare di utilizzare uno static class o static
in generale? Se è davvero così per C#.
In una frase: Quali sono le migliori pratiche sull'utilizzo delle variabili globali in Csharp?
Tecnicamente non esiste una variabile globale in C#, possono naturalmente essere globali a una classe e resi pubblici, essenzialmente ottenendo la stessa cosa, ma con un po 'di margine. –
Perché i singleton non hanno senso in C#? –
Sebbene sia scritto bene e in modo corretto, penso che questa domanda non si applichi a questo sito? – gbianchi