zoukankan      html  css  js  c++  java
  • C#一个可以马上跑起来的反射例子Assembly的使用

    直接上代码

    首先你需要有一个这样的类

    namespace CodeDemo
    {
        public class TestAssembly
        {
            public static Int32 add(Int32 i, Int32 j)
            {
                return i + j;
            }
        }
    }

     项目就简单点,这是我之前用作别的的一个项目。

    一个加法方法很简单。

    核心来了,首先需要把上面的项目编译下,把dll包扔到你这个项目中。也就是bin目录下

    然后执行下面这段代码就可以获取使用了。

            Assembly ass = Assembly.LoadFrom(AppContext.BaseDirectory + "CodeDemo.dll"); //加载dll文件
                Type tp = ass.GetType("CodeDemo.TestAssembly"); //获取类名,必须 命名空间+类名
                Object obj = Activator.CreateInstance(tp); //建立实例
                MethodInfo meth = tp.GetMethod("add"); //获取方法
                int t = Convert.ToInt32(meth.Invoke(obj, new Object[] { 2, 3 })); //Invoke调用方法

    新学习的同学们,先跑起来再说,剩下断点看

  • 相关阅读:
    pecl install swoole 安装php扩展swoole
    RBAC
    mysql数据类型
    ES6——Proxy的this问题
    ES6——Proxy实现链式操作
    ES6——Symbol内置值
    ES6——yield例子
    ES6——Generator的next()方法
    ES6——Thunkify用法
    Linux学习day1
  • 原文地址:https://www.cnblogs.com/SevenWang/p/15672108.html
Copyright © 2011-2022 走看看