267 votes

Quelle est la signification de CTOR ?

Dans de nombreux fichiers C# je vois des balises regions qui sont nommées CTOR ou ctor. Quelle est la signification de ctor? Pourquoi une telle région est-elle appelée ctor?

354voto

Jon Skeet Points 692016

C'est juste un raccourci pour "constructeur" - et c'est ainsi que le constructeur est appelé en IL aussi. Par exemple, ouvrez Reflector et regardez un type et vous verrez des membres appelés .ctor pour les différents constructeurs.

4 votes

Pourquoi est-ce appelé .ctor? Quelle est la signification du point (.) devant?

1 votes

@isuruceanu: Je soupçonne que c'est pour montrer que c'est un nom réservé. Juste une supposition cependant.

0 votes

Qu'en est-il de xxx.#.ctor() ? , il échoue mon exécution FxCop. stackoverflow.com/questions/17024149/…

48voto

Ghyath Serhal Points 3458

Généralement, cette région devrait contenir les constructeurs de la classe

2 votes

"doit contenir" -- est-ce que cela signifie qu'un .ctor ne fait pas nécessairement toujours référence à un constructeur? Ou simplement que cela ne fait pas toujours référence au constructeur d'une classe (car cela pourrait faire référence à une structure par exemple)?

43voto

Antony Thomas Points 891

Pour étendre un peu plus, il y a deux types de constructeurs : initialisateurs d'instance (.ctor), initialisateurs de type (.cctor). Construisez le code ci-dessous et explorez le code IL dans ildasm.exe. Vous remarquerez que le champ statique 'b' sera initialisé via .cctor() tandis que le champ d'instance sera initialisé via .ctor()

internal sealed class CtorExplorer
{
   protected int a = 0;
   protected static int b = 0;
}

18voto

Deli Points 201

Tapez "ctor" et appuyez deux fois sur la touche TAB cela ajoutera automatiquement le constructeur par défaut

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X