C#创建一个从继承类构造的类

Han*_*esh 2 c# inheritance

我有一节课:

class Cube
{
   public string Name;
   public string TexturePath;
}
Run Code Online (Sandbox Code Playgroud)

而另一个继承的类 Cube

class DrawableCube : Cube
{
   public Texture2D Texture;
   public Shader Shader;
}
Run Code Online (Sandbox Code Playgroud)

假设我有一个Cube我想要变成的集合DrawableCube.如果不创建一个构造函数,将构造函数Cube作为参数并复制所有属性,如何Cube使用结果类型复制a DrawableCube

Doc*_*own 6

恕我直言,在这里最好的解决方案是不继承DrawableCubeCube所有,但让UI类DrawableCube保持一个内部参考的数据类Cube.Cube但是,应该将其设计为不可变类.这种方式DrawableCube需要一个构造函数取一个Cube,但你不必复制它的所有属性,你可以只存储给定的引用:

class DrawableCube : 
{
   private myCube;

   public DrawableCube(Cube c)
   {
       myCube=c;
   } 
}
Run Code Online (Sandbox Code Playgroud)