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