是否有一种方法可以将类中的所有字段从脚本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
类中?
答案 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";
}
}