J'ai une classe simple qui a un constructeur statique et un constructeur d'instance. Maintenant, lorsque j'ai initialisé la classe, le constructeur statique et le constructeur d'instance sont appelés. Seul le static est référencé une fois dans un domaine d'application. Puis-je à nouveau appeler la même initialisation de classe et le constructeur statique initialiser à nouveau? J'ai essayé mais ça ne s'est pas passé? Est-il possible de rappeler le constructeur statique dans la méthode main() après avoir utilisé garbage collection sur la classe.Collecteur d'ordures statique C#?
Voici le code:
public class Employee
{
public Employee()
{
Console.WriteLine("Instance constructor called");
}
static Employee()
{
Console.WriteLine("Static constructor called");
}
~Employee()
{
//Dispose();
}
}
Maintenant, dans le principal appel de méthode:
static void Main(string[] args)
{
Employee emp = new Employee();
Employee emp = new Employee();
}
Sortie:
constructeur statique constructeur appelé Instance appelée constructeur Instance appelée
Maintenant, le statique n'a pas appelé à nouveau. Parce qu'il est appelé une fois dans le domaine d'application. Mais est leur de toute façon nous pourrions l'appeler à nouveau sans décharger le domaine d'application. Pouvons-nous utiliser la classe GC ici?
Merci. Pal
Pourquoi avez-vous écrit ce code sur Terre? –
@Developer: Parce qu'il peut :-D – abatishchev
@Developer ARt, S'il vous plaît alors me dire pourquoi nous ne pouvons pas avoir plusieurs constructeurs statiques dans une seule classe? Pourquoi :-D ...? –