このクラスがあるとしましょう:
class MyList<T>
{
}
以下を可能にするために、そのクラスに何をしなければなりませんか:
var list = new MyList<int> {1, 2, 3, 4};
このクラスがあるとしましょう:
class MyList<T>
{
}
以下を可能にするために、そのクラスに何をしなければなりませんか:
var list = new MyList<int> {1, 2, 3, 4};
Add メソッドを用意し、IEnumerable を実装します。
class MyList<T> : IEnumerable
{
public void Add(T t)
{
}
public IEnumerator GetEnumerator()
{
//...
}
}
public void T()
{
MyList<int> a = new MyList<int>{1,2,3};
}
MyList に ICollection を実装すると、初期化構文が機能します。
class MyList<T> : ICollection<T>
{
}
最低限のものは次のようになりますが:
public class myList<T> : IEnumerable<T>
{
public void Add(T val)
{
}
public IEnumerator<T> GetEnumerator()
{
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
}
}
ICollection<T> is also good.