List子类的构造函数<;T>;C#
这是我的班级:List子类的构造函数<;T>;C#,c#,list,class,constructor,initialization,C#,List,Class,Constructor,Initialization,这是我的班级: public class CustomList: List<SomeType>{ SomeType myList; public CustomList(List<SomeType> list){ myList = list; } //some methods } 但是,在访问列表的第一个成员(myCustomList[0])时,我得到: AurgumEntoFrangeException错误 我的自定义列表构造函数和/或初始化是否有任何错
public class CustomList: List<SomeType>{
SomeType myList;
public CustomList(List<SomeType> list){
myList = list;
}
//some methods
}
但是,在访问列表的第一个成员(myCustomList[0]
)时,我得到:
AurgumEntoFrangeException错误
我的自定义列表构造函数和/或初始化是否有任何错误
谢谢你的帮助
编辑:
SomeType是由一些公共变量组成的类:
public class SomeType{
public string title;
public string campaign;
}
我假设您希望将.ctor参数添加到列表中。所以加上它
public class CustomList: List<SomeType>{
public CustomList(List<SomeType> list){
this.AddRange(list);
}
//some methods
}
公共类自定义列表:列表{
公共客户列表(列表){
此.AddRange(列表);
}
//一些方法
}
正如Alexei在评论中指出的,在C#中使用这种语法调用基类.ctor的另一种方法是:
公共类自定义列表:列表{
公共客户列表(列表):基本(列表){…}
}
我假设您希望将.ctor参数添加到列表中。所以加上它
public class CustomList: List<SomeType>{
public CustomList(List<SomeType> list){
this.AddRange(list);
}
//some methods
}
公共类自定义列表:列表{
公共客户列表(列表){
此.AddRange(列表);
}
//一些方法
}
正如Alexei在评论中指出的,在C#中使用这种语法调用基类.ctor的另一种方法是:
公共类自定义列表:列表{
公共客户列表(列表):基本(列表){…}
}
我看不到您要添加到列表中的位置。如果myList
是公共的,则可以通过myCustomList.myList
访问.ctor参数值。我看不到要添加到列表的位置。如果myList
是公共的,您可以通过myCustomList.myList
访问.ctor参数值。您是对的,但是list
不是一个列表-正如我的代码注释所指出的那样。@Kourosh所以现在您需要this.AddRange(list)
:)base(list)
会更好。。。但是AddRange
也可以。@AlexeiLevenkov:所以<代码>公共自定义列表(列表):基本(列表){…}
?您能告诉我如何将列表转换为某种类型吗?您是对的,但是列表
不是一个列表-正如我的代码注释所指出的那样。@Kourosh所以现在您需要这个。AddRange(列表)
)基本(列表)
会更好。。。但是AddRange
也可以。@AlexeiLevenkov:所以<代码>公共客户列表(列表):基本(列表){…}
?您能告诉我如何将列表转换为某种类型吗?
public class CustomList : List<SomeType> {
public CustomList(List<SomeType> list) : base(list) { ... }
}