• (转)反射实例化类


    分两步来做:

    第一步,新建一个类库,写入代码如下:

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace BAL
    {
        public class Customer
        {
            ....
        }
    }


    第二步,将类库的DLL文件复制到新建的程序集目录下,然后在程序集中加入如下代码:

    方法1.使用System.Activator类的createinstance

    using System;
    using System.Reflection;

    class program
    {
        static void Main()
        {
            Assembly asse = Assembly.Load("BAL");
            Type type = asse.GetType("BAL.Customer");
            object obj = Activator.CreateInstance(type);
            Console.WriteLine(obj);
            Console.WriteLine(type.FullName);
           
        }
    }

    方法2.使用assembly类中的createinstance方法 

    using System;
    using System.Reflection;

    class program
    {
        static void Main()
        {

            string assemblyName = "BAL";

            string className = assemblyName  + "Customer";
            object obj (BAL.Customer)Assembly.Load(assemblyName).CreateInstance(className);
            Console.WriteLine(obj);
            Console.WriteLine(type.FullName);        
        }
    }

    作者:BobLiu
    邮箱:lzd_ren@hotmail.com
    出处:http://www.cnblogs.com/liuzhendong
    本文版权归作者所有,欢迎转载,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    WPF 组织机构摄像机树 全量加载 大数据量 分页加载摄像机节点
    vue3 自定义指令(简易版防抖、节流)
    测试Writer
    The blog In The cnblogs!
    分割
    coeLmiGMmW
    js 之 setTimeout 0 分析
    vue 组件 之 注册 及 组件内data的使用
    Js/es for(let i in Obj)效率分析及优化
    vue.js 表单控件 输入绑定 vmodel的使用
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2117496.html
Copyright © 2020-2023  润新知