百度上搜索C# 如何父类运行时转换成子类,没有得到相应答案,突然想起C# 有dynamic类型试试看结果成功了。。。

以后编写代码类似这样的代码 就可以删减掉了

if (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();}
}

转载于:https://www.cnblogs.com/plateFace/p/11147453.html

C# 父类代码动态转换子类相关推荐

  1. Java父类强制转换子类原则

    转载自 Java父类强制转换子类原则 最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了. 我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗? ...

  2. 类型转换异常,父类不能强转换成子类

    我们回到java角度上来, 总结一下: 1父对象=new 父类(); 2子对象=new 子类(); 3父对象=new 子类(); 4{ 父对象=new 子类(); 子对象=(子类)父对象; } 上述四 ...

  3. java字符流的父类_Java基于代码实战的字符流父类、字符转换流、缓冲字符流、过滤流...

    1. Java输入输出(I/O)流的知识回顾: 补充:因为这篇文章是基于上一篇的延续,因此将上一篇进行简单的回顾,以便理解本节内容. 1)输入输出(I/O)流分类:共分为字节型输入输出流和字符型输入输 ...

  4. 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序

    父类 public class Father {static{System.out.println("父类静态代码块");}{System.out.println("父类 ...

  5. java 动态转换器,Java 编程的动态性,第 5 部分: 动态转换类

    Java 编程的动态性,第 5 部分: 动态转换类 在经过一段时间的休息之后,Dennis Sosnoski 又回来推出了他的 Java 编程的动态性 系 列的第 5 部分.您已在前面的文章中看到了如 ...

  6. 父类指针可以指向子类对象

    结论:父类指针可以指向子类对象,但是只能访问父类成员,不能访问子类成员 结论:子类指针不可以指向父类对象,需要类型转换才可以 笔记: <1>.当基类指针指向派生类的时候,只能操作派生类从基 ...

  7. 父类的引用指向子类的对象

    最近有所感悟,写一下最多态新的理解吧: 父类引用指向子类对象指的是: 例如父类Animal,子类Cat,Dog.其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类. A ...

  8. 如何将ListT转换相应的Html(xsl动态转换)(二)

    一.前言 紧跟着上一篇随笔,本文主要涉及到如何将xml与xsl动态转换成html,这个才是最关键的地方,所有的内容都是围绕这个主题来进行开展的.根据指定的xsl样式将List<T>转换相应 ...

  9. vector父类类型可以存放子类吗_拼夕夕三轮面经:被问到反射和泛型的bug,你踏空了吗?...

    点击上方"JavaEdge",关注公众号 设为"星标",好文章不错过! 1 当反射遇见方法重载 重载grade方法,入参分别为int.Integer.若不通过反 ...

最新文章

  1. 写代码如坐禅:你是哪一类程序员?
  2. 目标文件(.o)结构的简单了解
  3. php mongodb 子查询,MongoDB数组子查询elemMatch
  4. CCNP-第十四篇-BGP综合实验
  5. Python高级——多继承问题(super与mro)
  6. Flutter Swiper制作轮播效果
  7. 改变Adobe Acrobat (PDF)高亮工具的颜色
  8. 苹果发布会不够酷?库克又送来了 iOS 12.2!
  9. CSS实现水平垂直居中的方法总结
  10. CSDN博主排名更新,看看原来的前1000名博主现在的排名如何
  11. r 语言初学者指南_阻止自然语言处理的初学者指南
  12. 卸载mysql的步骤_卸载MySQL数据库的完整步骤(图)
  13. 50位中国女性科学家入选2022福布斯
  14. 可用c语言编程的科学计算器,一个用C语言实现的科学计算器
  15. UI设计必掌握的软件之一:Axure!
  16. mysql e 变量_MySQL变量分类及用法简析
  17. 2022年CISP证书有啥用
  18. MongoDB学习指导
  19. 和风天气API调用结果乱码
  20. 字节跳动P0级事故:实习生删除GB以下所有模型,差点没上头条......

热门文章

  1. Oracle数据库是如何执行SQL的
  2. echart雷达图数据图形的填充颜色_数据可视化,职场数据分析都需要哪些常用的图表?...
  3. linux ssh端口是否打开,如何查看linux中的ssh端口开启状态
  4. Error creating bean with name ‘fastJsonpResponseBodyAdvice‘ defined in URL xxx
  5. JAVA打印变量类型
  6. 添加rabbitmq守护进程
  7. Vue中使用echarts图表插件
  8. c++分割字符串方法
  9. Android开发笔记(一百一十六)网络学习资源
  10. vue写的页面title中ico图标不显示的问题