c# - 通过返回的泛型 T 类型根据条件创建实例
问题描述
我有不同的类具有相同的属性名称。
我获取数据并根据条件分配给这些属性,例如
if age<10
var ClassA = new ClassA();
ClassA.Percent =25;
ClassA.StandarValue=1000;
if age > 25
var ClassB = new ClassB();
ClassB.Percent =15;
ClassB.StandarValue=3000;
我可以写一个方法
public T ReturnMyCustomClass(int age)
{ if age< 10
return (T)(object)ClassA;
if age> 25
return (T)(object)ClassB;
throw new Exception();
}
我可以将其分配为
var 结果=ReturnMyCustomClass(26);
问题:
if (result is ClassA)
我如何分配
var myClass=new result();
--这是错误的,但是如何从上面返回的对象创建一个实例?
解决方案
推荐阅读
- c# - DynamicExpression.Parse 在多大程度上识别 C# 符号?
- python - TypeError: Can only concatenate str (not "int") to str (简单的Python程序)
- javascript - 使用 split 函数删除部分代码
- elasticsearch - Winlogbeats 流式传输任务管理器进程信息正在运行
- python - 如何定义一个匹配多个模式的正则表达式,这些模式锚定在我的搜索文本中的同一位置?
- java - Avro:在序列化/反序列化包含枚举值的文件时发生 ClassCastException
- gstreamer - gstreamer 管道 EOS 问题
- jquery - 单击其他 div 时隐藏/显示 div
- python - 如何从 Azure 机器学习工作室中的 R 或 Python 脚本读取本地文件?
- angular6 - 如何使用新的 Identity.UI 在 Angular 6 中设置 loginurl 以使用 asp.netcore 2.1