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 }
  • 相关阅读:
    react-redux
    Vue中常用的UI框架
    vue中router与route的区别
    H5新增input属性
    H5新增的input类型
    菜鸡对作用域链的理解
    自己对路由的一些理解
    浏览器缓存
    黄瓜的不定期更新面试题
    ajax封装
  • 原文地址:https://www.cnblogs.com/dullfish/p/6093303.html
Copyright © 2011-2022 走看看