似乎经常会问这个问题,但仔细查看了所有问题,我发现我仍然没有帮助。我正在迈出第一步,我需要创建一个具有属性“Products”的对象,该属性是一个包含“Product”类的最多7个可能对象的数组。我只是几乎不了解{get; set;}方法,并正在阅读它,但我希望我能得到一些帮助,我在这里尝试做的语法。我正在使用C#。我的代码如下:
public class Submission
{
public Submission() {}
public int SubmissionId {get;set;}
public int CustId {get;set;}
public int BroId {get;set;}
public int Coverage {get;set;}
public Array Products // what goes here? It's a mystery.
}
答案 0 :(得分:1)
如果您要使用通用集合,我会使用:
public List<Product> Products { get; private set; }
或其中的一些变体。
答案 1 :(得分:1)
在这种情况下,我认为您不需要自动实现的属性。相反,这样做:
//backing store for your public property
private Product[] _products = new Product[7];
public Product[] Products { get {return _products;}}
然后在构造函数中:
foreach(var item in _products) {item = new Product(); }
你可以使用私有的setter而不是显式的后备存储来实现这一点,但我认为就设置数组的大小而言,这种方式更容易。
请注意,我只为该属性提供了一个getter。你不需要一个setter,因为这会允许有人用一个全新的数组替换你的属性。只提供一个吸气剂仍然允许有人操纵该物业。此外,通常我会推荐一个集合而不是一个数组,但是因为你想要一个固定大小的项目数量,一个数组可能更适合。
答案 2 :(得分:0)
你可以这样写:
public Products[] { get; set; }
并在你班级的构造函数中:
public Submission() {
Products = new Product[7];
}
答案 3 :(得分:-1)
使用IList
。您可以使用auto属性。