zoukankan      html  css  js  c++  java
  • c#反射-动态加载dll简单例子

    假设已有组件ClassLibraryTEST.dll,放置于程序目录下。组件中ClassLibraryTEST命名空间下有TEST类,类中有方法sum。下面示例就是动态加载组件并调用sum方法的简例:

    1 static void Main(string[] args)
    2         {
    3             string dllPath = string.Format("{0}\ClassLibraryTEST.dll", System.Environment.CurrentDirectory);//dll组件路径
    4             Assembly pAss = Assembly.LoadFile(dllPath);//加载组件
    5             Type pType = pAss.GetType("ClassLibraryTEST.TEST");//获得类,ClassLibraryTEST命名空间,TEST类名
    6             MethodInfo pMtInfo = pType.GetMethod("sum");//获得方法,sum方法名
    7             object o = Activator.CreateInstance(pType);//创建类实例
    8             int sum = (int)pMtInfo.Invoke(o, new object[] { 1, 2 });//调用方法
    9         }

    下面是组件代码:

     1 namespace ClassLibraryTEST
     2 {
     3     public class TEST
     4     {
     5         private int a = 0;
     6         private int b = 0;
     7         public string s = "n";
     8         private int Add(int a,int b)
     9         {
    10             return a + b;
    11         }
    12         public int sum(int a, int b)
    13         {
    14             return a + b;
    15         }
    16         private string url = "www.123.com";
    17     }
    18 }
  • 相关阅读:
    写一写这几天安卓开发遇到的坑
    安卓环境搭建
    正则表达式
    一段时间的总结
    路飞-登录页面
    路飞-腾讯云短信接口
    路飞-Redis
    路飞-git操作
    路飞-后台xadmin配置
    路飞-后台处理跨域问题
  • 原文地址:https://www.cnblogs.com/dullfish/p/6093303.html
Copyright © 2011-2022 走看看