2010-08-12 200 views
3

C#:你可以通过Property setter实例化对象吗?你可以通过Property setter实例化对象吗?

例如。

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

THEN:

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

你的财产'MyListProperty'缺少类型说明符。 – strager 2010-08-12 04:18:51

回答

5

是的,这是完全合法的。
在行MyListProperty = new List<MyObject>();你不“通过属性设置器实例化对象”。首先,您实例化一个新列表,然后将MyListProperty设置为您创建的列表。它等效于:

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

接下来,如果你希望你的代码编译,你应该指定属性的类型:

public List<MyObject> MyListProperty 
{ 
    get {return myList;} 
    set {myList = value;} 
} 
相关问题