¿Cuál es el significado de CTOR?


221

En muchos archivos C # guardo etiquetas de regiones (?) Que se denominan CTOR o ctor. ¿Cuál es el significado de ctor? ¿Por qué esa región se llama ctor?

Respuestas:


305

Es solo una abreviatura de "constructor", y también es como se llama al constructor en IL. Por ejemplo, abra Reflector y mire un tipo y verá miembros llamados .ctorpor los diversos constructores.


3
¿Por qué se llama .ctor? ¿Cuál es el significado de (.) Punto delante?
isuruceanu

@isuruceanu: sospecho que es para mostrar que es un nombre reservado. Solo una suposición sin embargo.
Jon Skeet

¿Qué pasa con xxx. #. Ctor ()? , falla mi ejecución de FxCop. stackoverflow.com/questions/17024149/…
Andreas Blomqvist

8
@Jessy: Raramente lo escuché pronunciarse, pero lo pronunciaría "see-tor".
Jon Skeet

55
@isuruceanu Todo comienza con "." en la IL hay metadatos.
Jude

45

Por lo general, esta región debe contener los constructores de la clase.


2
"debe contener": ¿eso significa que un .ctor no siempre hace referencia necesariamente a un constructor? ¿O simplemente que no siempre hace referencia al constructor de una clase (porque podría hacer referencia a una estructura, por ejemplo)?
cogumel0

@ cogumel0 O más bien "debería contener s " ;-)
Sнаđошƒаӽ

36

Para ampliar un poco más, hay dos tipos de constructores: inicializadores de instancia (.ctor), inicializadores de tipo (.cctor). Cree el código a continuación y explore el código IL en ildasm.exe. Notará que el campo estático 'b' se inicializará a través de .cctor () mientras que el campo de instancia se inicializará a través de .ctor ()

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

14

Escriba "ctor" y presione la tecla TAB dos veces, esto agregará el constructor predeterminado automáticamente


En VS2013 (y usando R # 2016.1) solo tengo que presionar tab una vez. No estoy seguro acerca de otras versiones de VS / R #
ro͢binmckenzie

13
Esta no es una respuesta a la pregunta.
Malfist

99
No es una respuesta, tan rechazado. Pero es algo interesante de saber, tan sin voto. :-)
Sнаđошƒаӽ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.