2010-03-19 18 views

Antwort

7

Es gibt fast keinen Unterschied zwischen ihnen. Die Zuweisung des Feldes erfolgt in beiden Fällen innerhalb des Konstruktors. Es gibt jedoch einen Unterschied in der Art und Weise, wie dies in Bezug auf Basisklassenkonstruktoren funktioniert. Nehmen Sie den folgenden Code ein:

class Base 
{ 
    public Base() 
    { 

    } 
} 

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

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

In diesem Fall wird der Basisklassenkonstruktor wird nach der Feldzuordnung in der Klasse One, aber vor die Zuordnung in der Klasse Two aufgerufen werden.

+0

Danke für detaillierte Antwort. –

2

Die erste Version ermöglicht es Ihnen, mehrere Konstruktoren zu definieren, ohne sich daran zu erinnern, die = new SomeType() in jedem zu setzen.

Verwandte Themen