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

  • 相关阅读:
    结对编程2—单元测试
    个人作业2—英语学习APP案例分析
    结对作业--基于GUI的四则运算生成器
    基于控制台的四则运算
    关于软件工程这门课
    个人作业3——个人总结(Alpha阶段)
    结对编程2——单元测试
    个人作业2——英语学习APP案例分析
    结对作业--基于GUI的四则运算生成器
    个人作业一
  • 原文地址:https://www.cnblogs.com/it1042290135/p/7793057.html
Copyright © 2011-2022 走看看