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

标签 c# inheritance

我有一个类:

class Cube
{
   public string Name;
   public string TexturePath;
}

还有另一个类继承Cube

class DrawableCube : Cube
{
   public Texture2D Texture;
   public Shader Shader;
}

假设我有一个 Cube 集合,我想将其转换为 DrawableCube。不只是创建一个将 Cube 作为参数并复制所有属性的构造函数,我如何制作具有结果类型 Cube 的副本DrawableCube?

最佳答案

恕我直言,这里最好的解决方案是根本不从 Cube 继承 DrawableCube,而是让 UI 类 DrawableCube 保持内部引用数据类 Cube。然而,Cube 应该设计成 immutable class。 .这样 DrawableCube 将需要一个采用 Cube 的构造函数,但您不必复制它的所有属性,您可以只存储给定的引用:

class DrawableCube : 
{
   private myCube;

   public DrawableCube(Cube c)
   {
       myCube=c;
   } 
}

关于C# 创建一个从继承类构造的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773253/

相关文章:

java - 将子类转换为父类(super class)实现的子接口(interface)

c# - 开源/现有 C# 类来编写 GPX 文件? (C#)

c# - MVVM 光 4 RTM : Where are the templates?

c++ - 让一个类生成另一个类?

java - 有没有办法在 JPA 中使用鉴别器值与实体继承建立双向关系?

c++ - 如何强制所有派生类实现虚方法?

c# - SQL Update 命令无法从后面的 c# 代码运行

c# - Hashtable A 等于 HashtAble B 控件

c# - Global.asax 文件中的事件监听器脚本需要持续运行

C#、Unity - 单个函数采用多个不同的对象