0

假设我有这门课:

class MyList<T>
{

}

我必须对该课程做些什么,才能使以下事情成为可能:

var list = new MyList<int> {1, 2, 3, 4};
4

3 回答 3

3

有一个 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};
}
于 2009-03-25T13:01:12.147 回答
1

在 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()
    {
    }
}
于 2009-03-25T13:02:02.927 回答
0
ICollection<T> is also good.
于 2009-03-25T13:18:03.807 回答