我有一个我制作的类,它基本上是List<>
对某种类型的封装。如果它是一个数组,我可以使用[]
like 访问列表项,但我不知道如何让我的新类从List<>
. 我尝试搜索此内容,但我很确定我不知道如何正确表达我想要做的事情并且没有发现任何有用的东西。
谢谢!
我有一个我制作的类,它基本上是List<>
对某种类型的封装。如果它是一个数组,我可以使用[]
like 访问列表项,但我不知道如何让我的新类从List<>
. 我尝试搜索此内容,但我很确定我不知道如何正确表达我想要做的事情并且没有发现任何有用的东西。
谢谢!
这称为索引器:
public SomeType this[int index] {
get { }
set { }
}
List 已经有 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 类不是为继承而设计的。你应该封装它,而不是扩展它。–服务
这看起来像
public class MyClass
{
private List<int> _InternalList = new List<int>();
public int this[int i]
{
get { return _InternalList[i]; }
set { _InternalList[i] = value; }
}
}