zoukankan      html  css  js  c++  java
  • C# 父类代码动态转换子类

    百度上搜索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();
        }
    }
  • 相关阅读:
    1scala基础
    3scala高级
    03spark kafka
    01spark基础
    04spark streaming
    2scala集合
    02spark sql
    学习java程序设计环境的心得
    第五章继承
    第二周学习Java心得
  • 原文地址:https://www.cnblogs.com/plateFace/p/11147453.html
Copyright © 2011-2022 走看看