zoukankan      html  css  js  c++  java
  • (转)反射实例化类

    分两步来做:

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

    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
    本文版权归作者所有,欢迎转载,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    hdu2653 Waiting ten thousand years for Love
    Request
    freetextbox 使用方法+下载
    格式化字符串 GridView DataFormatString
    GridView 中的button LinkButton 事件 CommandName
    Response 缓存
    Windows 7下VS2008升级
    ASP.NET中备份SQL Server数据库的方法
    asp.net和c#实现定时备份数据库(SQL Server2000)
    asp.net 中保存 数据库几种对象
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2117496.html
Copyright © 2011-2022 走看看