我正在尝试将集合初始化添加到我的班级。我在这里阅读了有关初始化程序的信息:https ://msdn.microsoft.com/en-us/library/bb384062.aspx#Anchor_2
我将引用令我困惑的重要部分:
集合初始值设定项允许您在初始化实现 IEnumerable 的集合类或具有Add扩展方法的类时指定一个或多个元素初始值设定项。
好的,所以我想强调or一词。当我阅读它时,我应该能够使用Add方法创建一个类,然后集合初始化程序应该在这个类上工作?情况似乎并非如此。我确实注意到的一件事是,它实际上说的是 Add 扩展方法。因此,我也尝试将 Add 创建为扩展方法,但无济于事。
这是我尝试过的一个小样本,但它不起作用:
public class PropertySpecificationCollection
{
private List<PropertySpecification> _internalArr;
public void Add(PropertySpecification item)
{
_internalArr.Add(item);
}
}
报价是否受制于我以外的其他解释?我试图一遍又一遍地阅读它,看看我是否可以用其他方式解释它,但没有这样做。
所以我想我的问题是:我是否解释错了,我是否遗漏了什么,或者 MSDN 上对集合初始化程序的描述是否有错误?