返回首页

我有问题,在我的编码实现继承类型化的DataRow。我的问题是,什么是正确的方法,从一个类继承一个类型化的DataRow,然后在另一个类的初始化?

例如:


Public class ClassA : DataSet1.DataRow1

{

    public ClassA(DataRowBuilder rb) : base (rb)

    {

        //TODO

    }

}


但我怎么想获得此构造工程?

我得到错误:

{C}

回答

评论会员:游客 时间:2012/02/06
。您需要在ClassA的一个默认的构造函数不带参数既然你已经定义了一个构造函数参数(DataRowBuilder)原始构造是不可用的。否则,你可以通过1新DataRowBuilder对象当创建一个ClassA的实例时
。OriginalGriff
评论会员:游客 时间:2012/02/06
通过它的外观,你想一类特定的DataSet实例的继承,特定是实例行(它无论如何dowesn't有-一套表,其中有行)你不能做到这一点:继承不起作用从一个特定的实例,它从泛型类型例如,你可以说,福特福克斯是福特从Car类继承的类,它继承了一个类:codeprelang="c#"spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanCar{}spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanFord:Car{}spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanFocus:Ford{}spanclass="code-keyword"public/spanspanclass="code-keyword"class/spanMondeo:Ford{}/pre/code但你不能说,福特福克斯是你姑姑酸乙酯的本田雅阁继承了一个类。你需要回到基本,再看看你的课堂笔记-你不理解类,实例,更继承尚未
!lukeer
评论会员:游客 时间:2012/02/06
在代码中有两个问题,您发布的1。类不能从实例继承。你写的{体C3}这使得类ClassA的继承从DataSet1.DataRow1的。从通常的命名约定,这看起来像DataRow1是一个类型的DataRow对象。所以,它{C4的}而不是2。使用不存在构造不起作用您正试图创建一个实例ClassA的通过{C5的}您使用不带任何参数的构造。但在给定的代码,只为ClassA的构造类型DataRowBuilder需要一个参数。如果你不提供任何构造函数,编译器默默地创建一个不带参数。这就是为什么你可以使用简单的类,而不事先书面。禁用此快捷方式,只要你提供任何构造。所以你离开了两个选项:a)写出另一个构造函数没有参数或工作b)在ClassB.DoWork()使用像现有的ClassA的构造{5233}