Esistono varie opzioni di refactoring in Visual Studio da utilizzare al momento della codifica. Quando estraiamo e creiamo un nuovo metodo. Quindi Visual Studio deciderà se il nuovo metodo sarà statico o istantaneo a seconda dell'utilizzo all'interno del nuovo metodo. Se quel metodo usa un membro intence della classe allora crea come metodo di instence, se non usa alcun membro di instence della classe allora crea il metodo come statico. Posso capire che se non si utilizza l'utilizzo dei membri di instence, è meglio dichiarare tale metodo come statico per impedire l'inizializzazione per ogni oggetto. Il metodo statico inizia solo una volta al momento del caricamento della classe.
Ma la domanda è se ci sono molti metodi statici all'interno di varie classi di un'applicazione, quindi le prestazioni faranno male? Perché molti oggetti di quella classe condivideranno lo stesso metodo statico di quella classe? Dovremmo fare la gestione della sicurezza dei thread con quel metodo statico? O in questo tipo di impostazione è meglio creare semplicemente il metodo di instence se non ci sono usi del membro di instence della classe?