C#: objet statique de la variable dans la classe
Si j'ai une variable statique dans une classe:
public class MyClass {
private static MyObject = new MyObject();
public void MyMethod() {
//do some stuff
}
}
Peut la variable instanciée lorsqu'il est déclaré, comme mentionné ci-dessus?
OriginalL'auteur Craig Johnston | 2010-12-24
Vous devez vous connecter pour publier un commentaire.
Votre code est légal et ce qui fonctionne.
Une chose d'être conscient, c'est que les constructeurs statiques et initalizers ne pas exécuter lors de votre module est bien chargé, mais uniquement lorsque cela est nécessaire.
Monobjet ne seront instanciés lorsque vous créez une instance de Maclasse ou d'accéder à un champ statique.
Donc si je comprends bien:
Pourrait dépendre de la présence d'un constructeur statique
OriginalL'auteur CodesInChaos
Oui. Deux choses à noter:
Section 10.5.5.1 de la C# spec va plus dans le détail en vous intéresse.
OriginalL'auteur Nick Jones
Si vous vous demandez si cela est légal, C#, alors oui, il est. Et il va faire ce que vous pensez qu'il sera.
OriginalL'auteur Jon