In molti file C # salvo i tag di regioni (?) Che sono chiamati CTOR o ctor. Qual è il significato di ctor? Perché una tale regione è chiamata ctor?
In molti file C # salvo i tag di regioni (?) Che sono chiamati CTOR o ctor. Qual è il significato di ctor? Perché una tale regione è chiamata ctor?
Risposte:
È solo una scorciatoia per "costruttore" - ed è anche quello che il costruttore viene chiamato in IL. Ad esempio, apri Reflector e osserva un tipo e vedrai i membri chiamati .ctorper i vari costruttori.
Di solito questa regione dovrebbe contenere i costruttori della classe
Per espandere un po 'di più, ci sono due tipi di costruttori: inizializzatori di istanza (.ctor), inizializzatori di tipo (.cctor). Compilare il codice seguente ed esplorare il codice IL in ildasm.exe. Noterai che il campo statico 'b' verrà inizializzato tramite .cctor () mentre il campo dell'istanza verrà inizializzato tramite .ctor ()
internal sealed class CtorExplorer
{
protected int a = 0;
protected static int b = 0;
}
Digita "ctor" e premi due volte il tasto TAB per aggiungere automaticamente il costruttore predefinito