c# - 返回继承了某个类的新类
问题描述
我正在制作我的自定义 CharacterStatusfunctionManagement。有 CharacterStatusFunction 和继承类,如 Strength、Defend、Burn 等。
public class CharacterStatusFunction : IComparable<CharacterStatusFunction> {
//Something
}
public class Strength : CharacterStatusFunction {
}
我在 CharacterStatusfunctionManage 中加载所有继承的类
static Dictionary<string, CharacterStatusFunction> _CharacterStatusFuncDic = new Dictionary<string, CharacterStatusFunction> ();
static List<string> _CharacterStatusFuncKeyLists = new List<string> ();
[RuntimeInitializeOnLoadMethod]
public static void InItDictionary () {
List<CharacterStatusFunction> ChrStatusFunctionLists = ReflectiveEnumerator.GetEnumerableOfType<CharacterStatusFunction> ().ToList ();
for (int i = 0; i < ChrStatusFunctionLists.Count; i++) {
_CharacterStatusFuncDic.Add (ChrStatusFunctionLists[i].ToString (), ChrStatusFunctionLists[i]);
}
Added = true;
}
我想像这样通过我的objectslug获得New CharacterStatusManagement。
public static CharacterStatusFunction GetCharacterStatusFunctionByKey (string key) {
if(key == "Strength")
return new Strength{}
//something else
}
这里有一个问题:我想获得继承 characterstatusfunction 类的“新”类,但我找不到方法。我知道有一种方法可以使用序列化进行深度复制,但是因为我没有复制值,所以我认为这不合适。
public static CharacterStatusFunction GetCharacterStatusFunctionByKey (string key) {
if (_CharacterStatusFuncDic.ContainsKey (key)) {
//This Line Help
return new typeof(_CharacterStatusFuncDic[key]);
}
}
解决方案
推荐阅读
- javascript - 包括不适用于绘图跟踪的功能 - js
- java - 如何在 Spring Boot 中创建实体时建立实体之间的链接?
- algorithm - 给定一个数字数组。在每一步,我们都可以在这个数组中选择一个像 N 这样的数字,并将 N 与这个数组中存在的另一个数字相加
- sql - 更改表以在 SQL 中添加检查条件
- r - 复制一段代码得到m个不同的输出
- python - Django 根据选定字段生成自定义 ID
- anaconda - Anaconda Cloud 上显示的最新版本
- testing - Groovy 元类覆盖 java.time.Year 静态方法 now() 但生产代码在运行时未使用 now() 的覆盖行为
- android - Android:不关闭 ExecutorService 会有问题吗?
- javascript - 在 NextJS 中将字符串 HTML 注入头部不起作用