C# 父类代码动态转换子类
2021-05-23 06:29
标签:ace creat ima 没有 pod span string map stat 百度上搜索C# 如何父类运行时转换成子类,没有得到相应答案,突然想起C# 有dynamic类型试试看结果成功了。。。 以后编写代码类似这样的代码 就可以删减掉了 C# 父类代码动态转换子类 标签:ace creat ima 没有 pod span string map stat 原文地址:https://www.cnblogs.com/plateFace/p/11147453.htmlif (en.type == EMapEntity.Construction)
{
en.construction = new ConstructionPOD();
}
if (en.type == EMapEntity.Creature)
{
en.creature = new CreaturePOD();
}
using System;
using System.Reflection;
class BaseOrm
{
public int hp = 10;
}
class RoleOrm : BaseOrm
{
public string name = "盘子脸";
}
class Program
{
static void Main(string[] args)
{
string scriptName = "RoleOrm";
Assembly a = Assembly.GetExecutingAssembly();
Type t = a.GetType(scriptName, true);
dynamic obj = Activator.CreateInstance(t);
Console.WriteLine(obj.hp);
Console.WriteLine(obj.name);
RoleOrm r = obj;
r.name = "plateface";
Console.WriteLine(r.name);
Console.ReadLine();
}
}