C# 如何调用此构造函数和基构造函数
如何调用此和基构造函数?可以打电话吗 我想做的代码是这样的C# 如何调用此构造函数和基构造函数,c#,constructor,C#,Constructor,如何调用此和基构造函数?可以打电话吗 我想做的代码是这样的 public class ObservableTestCollection<T> : ObservableCollection<T> { public T Parent; public ObservableTestCollection(T parent) { Parent = parent; } public ObservableTestCollect
public class ObservableTestCollection<T> : ObservableCollection<T>
{
public T Parent;
public ObservableTestCollection(T parent)
{
Parent = parent;
}
public ObservableTestCollection(T parent, IEnumerable<T> source): base(source) ,this(parent)
{
}
}
公共类ObservableTestCollection:ObservableCollection
{
公营部门及家长;
公共ObservateTestCollection(T父级)
{
父母=父母;
}
公共ObservateTestCollection(T父级,IEnumerable源):基(源),此(父级)
{
}
}
如何调用此和基构造函数?可以打电话吗
不能像示例中那样调用此构造函数和基构造函数
为了实现您在示例中试图做的事情,您必须像这样重构它
public class ObservableTestCollection<T> : ObservableCollection<T> {
public T Parent;
//This constructor calls the instance constructor
public ObservableTestCollection(T parent) : this(parent, Enumerable.Empty<T>()) {
}
//Instance constructor is calling the base constructor
public ObservableTestCollection(T parent, IEnumerable<T> source) : base(source) {
Parent = parent;
}
}
公共类ObservableTestCollection:ObservableCollection{
公营部门及家长;
//此构造函数调用实例构造函数
公共ObservableTestCollection(T父级):此(父级,可枚举的.Empty()){
}
//实例构造函数正在调用基构造函数
公共ObservableTestCollection(T父级,IEnumerable源):基(源){
父母=父母;
}
}
第二个构造函数用于填充局部变量并调用基构造函数。让我们将该构造函数称为实例构造函数。实例构造函数现在可以由其他构造函数使用this
关键字调用
构造函数可以通过以下方式调用同一对象中的另一个构造函数:
使用this关键字。和base一样,它可以有或没有使用
参数以及构造函数中的任何参数都可以作为
参数,或作为表达式的一部分
语言不允许这样。您需要从两个构造函数中提取公共代码到方法,并从两个构造函数中调用它。这样,您的代码就不会被双重化。最好换成另一种方式,不是吗?谢谢。这就是我想要的方法。