自定義類中的集合初始值設定項
要建立類支援集合初始值設定項,它必須實現 IEnumerable
介面並至少有一個 Add
方法。從 C#6 開始,任何實現 IEnumerable
的集合都可以使用擴充套件方法使用自定義 Add
方法進行擴充套件。
class Program
{
static void Main()
{
var col = new MyCollection {
"foo",
{ "bar", 3 },
"baz",
123.45d,
};
}
}
class MyCollection : IEnumerable
{
private IList list = new ArrayList();
public void Add(string item)
{
list.Add(item)
}
public void Add(string item, int count)
{
for(int i=0;i< count;i++) {
list.Add(item);
}
}
public IEnumerator GetEnumerator()
{
return list.GetEnumerator();
}
}
static class MyCollectionExtensions
{
public static void Add(this MyCollection @this, double value) =>
@this.Add(value.ToString());
}