如何从类继承类字段?

时间:2019-11-28 14:12:45

标签: c# inheritance

是否有一种方法可以将类中的所有字段从脚本1动态复制到脚本2,而无需编辑脚本2?

例如:

脚本1包含:

class Extras
{
    public string url;
    public string itemTitle;
    public float articleDuration;
    public float yLocation;
}

并且脚本2包含:

public class Settings
{

}

如何在不编辑脚本2的情况下将Extras类中的所有字段复制到Settings类中?

3 个答案:

答案 0 :(得分:0)

如果您希望在运行时更改代码,则简短的回答是“您不能”。但是,您可以扩展Settings类,

public class AnotherSettings : Settings
{
    public string url;
    public string itemTitle;
    public float articleDuration;
    public float yLocation;
}

并将父类与子类的实例一起使用

Settings settings = new AnotherSettings();

答案 1 :(得分:0)

字段定义告诉编译器您的类是什么样子,例如Shape。类不是动态数据结构,您可以随时随地对其进行配置。类是系统可以运行的原型。

那你想要什么?要动态生成类?

这不是一个合理的想法。

答案 2 :(得分:0)

您也可以嵌套该类,但是不确定最终的需求。

class Extras
{
    public string url;
    public string itemTitle;
    public float articleDuration;
    public float yLocation;
}

这一个来自Extras,因此它会获得所有Extras定义以及您添加的内容。

public class Settings1 : Extras
{
   public string SomethingAtThisLevel;

   public void SomeMethod()
   {
      if( OtherSettings.itemTitle == "TESTING" )
         SomethingAtThisLevel = "ok";
   }
}

OR这只是添加您要访问的给定其他类的实例,但这是新类中本身的一个字段。

public class Settings2 
{
   public Extras OtherSettings;
   public string SomethingAtThisLevel;


   public void SomeMethod()
   {
      if( OtherSettings.itemTitle == "TESTING" )
         SomethingAtThisLevel = "ok";
   }
}