C#:你可以通过Property setter实例化对象吗?
例如。
private List<MyObject> myList;
public List<MyObject> MyListProperty { get {return myList;} set {myList = value;} }
THEN:
MyListProperty = new List<MyObject>();
答案 0 :(得分:5)
是的,这完全有效。
在行MyListProperty = new List<MyObject>();
中,您不“通过Property setter实例化对象”。首先,您实例化一个新列表,然后将MyListProperty
设置为您创建的列表。它相当于:
List<MyObject> myObjectList = new List<MyObject>();
MyListProperty = myObjectList;
接下来,如果您希望编译代码,则应指定属性的类型:
public List<MyObject> MyListProperty
{
get {return myList;}
set {myList = value;}
}