简体   繁体   English

你能通过Property setter实例化对象吗?

[英]Can you instantiate objects via a Property setter?

C#: can you instantiate objects via a Property setter? C#:你可以通过Property setter实例化对象吗?

eg. 例如。

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

THEN: 然后:

MyListProperty = new List<MyObject>();

Yes, that is perfectly valid. 是的,这完全有效。
In the line MyListProperty = new List<MyObject>(); 在行MyListProperty = new List<MyObject>(); you do not " instantiate objects via a Property setter ". 你不“ 通过Property setter实例化对象 ”。 First, you instantiate a new list, and then you set MyListProperty to the list you've created. 首先,您实例化一个新列表,然后将MyListProperty设置为您创建的列表。 It is equivalent to: 它相当于:

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

Next, if you want your code to compile you should specify the type of your property: 接下来,如果您希望编译代码,则应指定属性的类型:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM