5

私は現在、独自の非常に基本的なジェネリック リスト クラスを作成しています (事前定義されたクラスがどのように機能するかをよりよく理解するため)。私が抱えている唯一の問題は、「」を使用して通常行うように、配列内の要素に到達できないことですSystem.Collections.Generic.List

GenericList<type> list = new GenericList<type>();
list.Add(whatever);

これはうまくいきますが、「なんでも」にアクセスしようとすると、次のように書きたいと思います:

list[0];

しかし、コードに何かが明らかに欠けているため、それは明らかに機能しません.それ以外の場合は完全に機能するジェネリッククラスに何を追加する必要がありますか?

4

2 に答える 2

12

これはindexerと呼ばれ、次のように記述されます。

public T this[int i]
{
    get
    {
        return array[i];
    }
    set
    {
        array[i] = value;
    }
}
于 2013-02-19T16:25:49.467 に答える
1

IList<T>すべての基本機能を取得するには、実装するだけでよいと思います

  public interface IList<T>  
  {

    int IndexOf(T item);

    void Insert(int index, T item);

    void RemoveAt(int index);

    T this[int index] { get; set; }
  }
于 2013-02-19T17:04:04.473 に答える