我创建了一个类,它基本上是某种类型的封装List<>
。我可以使用[]
来访问列表项,如果它是一个数组,但我不知道如何让我的新类从List<>
继承该功能。我试着寻找这个,但我很确定我不知道如何正确地说出我想要做的事情,并没有发现任何有用的东西。
谢谢!
答案 0 :(得分:9)
这称为indexer:
public SomeType this[int index] {
get { }
set { }
}
答案 1 :(得分:1)
这称为 indexer 。
索引器允许对类或结构的实例进行索引 阵列。索引器类似于属性,除了它们的访问器 参数。
索引器使对象能够以与数组类似的方式编制索引。
get
访问者返回一个值。 set
访问者分配值。
this
关键字用于定义索引器。
value
关键字用于定义设置索引器分配的值。
这是 EXAMPLE 。
答案 2 :(得分:1)
列表已经有了Indexer的定义,因此无需更改该代码。它将默认工作。
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类不是为继承而设计的。你应该封装它,而不是扩展它。 - Servy
这看起来像
public class MyClass
{
private List<int> _InternalList = new List<int>();
public int this[int i]
{
get { return _InternalList[i]; }
set { _InternalList[i] = value; }
}
}