zoukankan      html  css  js  c++  java
  • C#之反射

    Assembly assembly = Assembly.Load("PeopleDal");
    //获取程序集名称
    Module[] modules = assembly.GetModules();
    foreach (var item in modules)
    {
        Console.WriteLine(item.Name);
    }
    //获取程序集类名
    Type[] types = assembly.GetTypes();
    foreach (var item in types)
    {
        Console.WriteLine(item.Name);
    }
    
    //注意:程序集名称需要拷贝到当前项目的inDebug目录下
    //加载程序集,Load里面写程序集名称
    Assembly assembly = Assembly.Load("PeopleDal");
    //获取程序集实例,GetType里面写“命名空间”加上“.类名”
    Type type = assembly.GetType("PeopleDal.People");
    //创建该类型的实例并类型转换
    IHelper iHelper = Activator.CreateInstance(type) as IHelper;
    //调用该类型的方法
    iHelper.SayHi();
    
    //配置文件方法读取并创建实例、调用方法
    string helperConfig = ConfigurationManager.AppSettings["Helper"];
    Assembly assembly = Assembly.Load(helperConfig.Split(',')[0]);
    Type type = assembly.GetType(helperConfig.Split(',')[1]);
    IHelper iHelper = Activator.CreateInstance(type) as IHelper;
    iHelper.SayHi();
    Console.ReadKey();
  • 相关阅读:
    codevs 3971 航班
    2015山东信息学夏令营 Day4T3 生产
    2015山东信息学夏令营 Day5T3 路径
    Tyvj 1221 微子危机——战略
    清北学堂模拟赛 求和
    NOIP2012同余方程
    NOIP2009 Hankson的趣味题
    bzoj1441 MIN
    国家集训队论文分类
    贪心 + DFS
  • 原文地址:https://www.cnblogs.com/genesis/p/6117736.html
Copyright © 2011-2022 走看看