Comment passer un paramètre à un constructeur de classe statique?
J'ai une classe statique avec un constructeur statique. J'ai besoin de passer un paramètre en quelque sorte à cette classe statique, mais je ne suis pas sûr de la façon la meilleure façon est.
Que recommanderiez-vous?
public static class MyClass {
static MyClass() {
DoStuff("HardCodedParameter")
}
}
source d'informationauteur MrProgram
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser un constructeur statique, mais une initialisation statique méthode:
En C#, les constructeurs statiques sont sans paramètre, et il y a quelques approches pour surmonter cette limitation. Est ce que j'ai suggéré ci-dessus.
Si par "HardCodedParameter" - vous vraiment dire codé en dur, vous pouvez utiliser des constantes.
Aussi, vous pouvez utiliser static readonly propriétés.
Comme par MSDN, Un constructeur statique est automatiquement appelée pour initialiser la classe avant la première instance est créée. Par conséquent, vous ne pouvez pas lui envoyer des paramètres.
CLR doit appeler un constructeur statique comment savoir quels sont les paramètres à passer?
Donc ne l'utilisez pas un constructeur statique.
Voici le travail autour de votre exigence.