2010-03-19 19 views

risposta

7

C'è quasi non differenza tra di loro. L'assegnazione del campo avverrà all'interno del costruttore in entrambi i casi. C'è una differenza nel modo in cui questo si verifica in relazione ai costruttori della classe base. Prendere il seguente codice:

class Base 
{ 
    public Base() 
    { 

    } 
} 

class One : Base 
{ 
    string test = "text"; 
} 

class Two : Base 
{ 
    string test; 
    public Two() 
    { 
     test = "text"; 
    } 
} 

In questo caso il costruttore della classe base verrà richiamato dopo l'assegnazione campo nella classe One, ma prima di l'assegnazione in classe Two.

+0

Grazie per la risposta detaild. –

2

La prima versione consente di definire più costruttori senza dover ricordare di inserire lo = new SomeType() in ciascuno di essi.

Problemi correlati