从JointCollection派生一个类

时间:2012-07-08 18:02:54

标签: c# kinect derived-class

我想Microsoft.Kinect.JointCollection类派生一个类。

public class Derived : JointCollection 
{
    public string NewItem;

    public Derived ()
    {

    }
}

错误:

The type 'Microsoft.Kinect.JointCollection' has no constructors defined.

问题是什么,如何解决?

3 个答案:

答案 0 :(得分:4)

  

基类对象始终在任何派生类之前构造。   因此,基类的构造函数在之前执行   派生类的构造函数。

http://msdn.microsoft.com/en-us/library/ms228387%28v=VS.80%29.aspx

Microsoft.Kinect.JointCollection类不包含公共构造函数[2],因此每当您尝试实例化Derived时,它都会失败,因为公共构造函数在基类上不可用。

您可以考虑将JointCollection类与您的派生类包装在一起,并提供适当的方法来在Derived中访问它,而不仅仅是直接调用JointCollection上的方法。

答案 1 :(得分:1)

我认为error表示该类只定义了内部构造函数,因此您无法从其他程序集中实例化它。

答案 2 :(得分:0)

问题是你试图从明确设计为禁止这种情况的calss派生(这可以通过使所有构造函数内部/私有来实现)。

解决方案:不要那样做。如果没有信息,为什么要这样做,很难提供替代方案。