基本的にList<>
特定のタイプ用にカプセル化されたクラスを作成しました。配列の場合は likeを使用して List 項目にアクセスできますが[]
、新しいクラスに からその機能を継承させる方法がわかりませんList<>
。これを検索してみましたが、やりたいことを正しく表現する方法がわからず、何も役に立たなかったと確信しています。
ありがとう!
基本的にList<>
特定のタイプ用にカプセル化されたクラスを作成しました。配列の場合は likeを使用して List 項目にアクセスできますが[]
、新しいクラスに からその機能を継承させる方法がわかりませんList<>
。これを検索してみましたが、やりたいことを正しく表現する方法がわからず、何も役に立たなかったと確信しています。
ありがとう!
これはインデクサーと呼ばれます:
public SomeType this[int index] {
get { }
set { }
}
リストには既にインデクサーの定義があるため、そのコードを変更する必要はありません。デフォルトで動作します。
public class MyClass : List<int>
{
}
ここでインデクサーにアクセスできます。何も実装していないにもかかわらず
MyClass myclass = new MyClass();
myclass.Add(1);
int i = myclass[0]; //Fetching the first value in our list ( 1 )
List クラスは継承されるように設計されていないことに注意してください。拡張するのではなく、カプセル化する必要があります。–サービス
そして、これは次のようになります
public class MyClass
{
private List<int> _InternalList = new List<int>();
public int this[int i]
{
get { return _InternalList[i]; }
set { _InternalList[i] = value; }
}
}
それはインデクサーと呼ばれます。
インデクサーを使用すると、配列のようにクラスまたは構造体のインスタンスにインデックスを付けることができます。インデクサーは、アクセサーがパラメーターを取ることを除いて、プロパティに似ています。
インデクサーを使用すると、配列と同様の方法でオブジェクトにインデックスを付けることができます。
アクセサーはget
値を返します。set
アクセサーは値を割り当てます。
キーワードは、this
インデクサーを定義するために使用されます。
キーワードは、value
セット インデクサーによって割り当てられる値を定義するために使用されます。
これが例です。