C #: Seznam přidat objektu inicializátor

hlasů
0

Řekněme, že mám tuto třídu:

class MyList<T>
{

}

Co musím udělat, aby tuto třídu, aby se následující možnosti:

var list = new MyList<int> {1, 2, 3, 4};
Položena 25/03/2009 v 13:58
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Mít metodu Add a implementovat 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};
}
Odpovězeno 25/03/2009 v 14:01
zdroj uživatelem

hlasů
1

Prováděcí ICollection na mylist umožní syntaxe initalizer práci

class MyList<T> : ICollection<T>
{
}

Ačkoli holé minimum bude vypadat následovně:

public class myList<T> : IEnumerable<T>
{
    public void Add(T val)
    {
    }

    public IEnumerator<T> GetEnumerator()
    {
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
    }
}
Odpovězeno 25/03/2009 v 14:02
zdroj uživatelem

hlasů
0
ICollection<T> is also good.
Odpovězeno 25/03/2009 v 14:18
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more