2010-08-12 4 views
3

C#: pouvez-vous instancier des objets via un setter de propriétés?Pouvez-vous instancier des objets via un setter de propriétés?

par ex.

private List<MyObject> myList; 
public List<MyObject> MyListProperty { get {return myList;} set {myList = value;} } 

ALORS:

MyListProperty = new List<MyObject>(); 
+0

Votre propriété 'MyListProperty' manque un spécificateur de type. – strager

Répondre

5

Oui, cela est parfaitement valide.
Dans la ligne MyListProperty = new List<MyObject>(); vous ne "instancier des objets via un setter de propriété". Tout d'abord, vous instanciez une nouvelle liste, puis vous définissez MyListProperty sur la liste que vous avez créée. Il est équivalent à:

List<MyObject> myObjectList = new List<MyObject>(); 
MyListProperty = myObjectList; 

Ensuite, si vous voulez que votre code pour vous compilez devez spécifier le type de votre propriété:

public List<MyObject> MyListProperty 
{ 
    get {return myList;} 
    set {myList = value;} 
} 
Questions connexes