我试图向我的类中添加集合初始化。我在这里阅读了有关初始化器的信息:https://msdn.microsoft.com/en-us/library/bb384062.aspx#Anchor_2
我引用了一个让我感到困惑的重要部分:
“当您初始化实现IEnumerable或具有Add扩展方法的类的集合类时,集合初始化程序允许您指定一个或多个元素初始化器。”
好的,我想强调一下或这个词。按照我的理解,我应该能够创建一个具有Add方法的类,然后集合初始化器应该能够在这个类上工作?但事实并非如此。我注意到的一件事是,它确实说了一个Add扩展方法。所以我也尝试将Add创建为扩展方法,但没有成功。
这是我尝试过但不起作用的小样本:
“当您初始化实现IEnumerable或具有Add扩展方法的类的集合类时,集合初始化程序允许您指定一个或多个元素初始化器。”
好的,我想强调一下或这个词。按照我的理解,我应该能够创建一个具有Add方法的类,然后集合初始化器应该能够在这个类上工作?但事实并非如此。我注意到的一件事是,它确实说了一个Add扩展方法。所以我也尝试将Add创建为扩展方法,但没有成功。
这是我尝试过但不起作用的小样本:
public class PropertySpecificationCollection
{
private List<PropertySpecification> _internalArr;
public void Add(PropertySpecification item)
{
_internalArr.Add(item);
}
}
这句话还有其他的解释吗?我试着反复阅读,看是否可以从其他角度来解释它,但是没有成功。
所以我的问题是:我解释错了吗?我漏掉了什么吗?还是MSDN上对集合初始化器的描述有误?
PropertySpecificationCollection
的实例并在构造函数中初始化集合时会发生什么? - Maria Ines ParnisariIEnumerable
并且必须有合适的Add
方法。 - Lee