zoukankan      html  css  js  c++  java
  • 初步了解反射案列

    internal class Program
    {
    private static void Main(string[] args)
    {
    //IDBHelper objDBHelper = new DBHelper();
    //objDBHelper.Query();
    Console.WriteLine("***********Reflection**************");
    string nameSpace = ConfigurationManager.AppSettings["Idiosoft.DB.Interface.IDBHelper"]; //获取配置文件
    string[] nameSpaceArray = nameSpace.Split(',');

    //Assembly assembly = Assembly.Load("Idiosoft.DB.Sqlserver");//根据反射动态的加载
    Assembly assembly = Assembly.Load(nameSpaceArray[1]);//根据反射动态的加载
    Console.WriteLine("***********GetModules**************");
    foreach (Module module in assembly.GetModules())
    {
    Console.WriteLine("名称:{0}", module.FullyQualifiedName);
    }
    Console.WriteLine("***********GetTypes**************");

    foreach (Type type in assembly.GetTypes())
    {
    Console.WriteLine("名称:{0}", type.FullName);
    }
    Console.WriteLine("***********创建对象**************");
    //Type dbHelperType = assembly.GetType("Idiosoft.DB.Sqlserver.DBHelper");//基于类的完整名称找出准确类型
    Type dbHelperType = assembly.GetType(nameSpaceArray[0]);//基于类的完整名称找出准确类型

    object oDBHelper = Activator.CreateInstance(dbHelperType);//根据类型创建对象
    try
    {
    IDBHelper objDBHelperReflecton = (IDBHelper)oDBHelper;//强制转换
    objDBHelperReflecton.Query();//完成方法的调用
    }
    catch (Exception ex)
    {
    }

    Console.ReadKey();
    }

  • 相关阅读:
    在线重定义 half
    系统测试概述 half
    Linux常用性能检测命令 half
    关于robotium half
    hudson集成 half
    铺满浏览器窗口的界面设计
    Intellij IDEA配置优化转载
    window下安装zookeeper
    kbengine集群控制工具
    使用installer安装kbengine
  • 原文地址:https://www.cnblogs.com/it1042290135/p/7793057.html
Copyright © 2011-2022 走看看