List <t> C#</t>的子类的构造方法

时间:2015-03-25 04:06:15

标签: c# list class constructor initialization

这是我的班级:

public class CustomList: List<SomeType>{

 SomeType myList;

 public CustomList(List<SomeType> list){
  myList = list;
 }

//some methods
}

我将它初始化为:

CustomList myCustomList = new CustomList(someList);

但是,在访问列表的第一个成员(myCustomList[0])时,我得到: AurgumentOutOfRangeException错误。

我在自定义列表构造函数和/或初始化中做错了吗?

感谢您的帮助。

编辑:

SomeType是一个由一些公共变量组成的类:

public class SomeType{
 public string title;
 public string campaign;
}

1 个答案:

答案 0 :(得分:4)

我假设您希望将.ctor参数添加到列表中。所以加上它......

public class CustomList: List<SomeType>{

 public CustomList(List<SomeType> list){
  this.AddRange(list);
 }

//some methods
}

正如Alexei在评论中指出的那样,在C#中使用这种语法调用基类.ctor的另一种方法:

public class CustomList : List<SomeType> {
    public CustomList(List<SomeType> list) : base(list) { ... }
}