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();
  • 相关阅读:
    常用模块的作业
    一些常用的模块
    软件开发的目录规范

    匿名函数作业
    模块
    算法,面向过程与匿名函数
    生成器表达式作业
    C. Perfect Keyboard
    C. Ehab and Path-etic MEXs
  • 原文地址:https://www.cnblogs.com/genesis/p/6117736.html
Copyright © 2011-2022 走看看