Logo

C# 反射调用DLL里面方法并执行实例

photo

2020年07月03日

以下DLL文件里面的内容生成的程序集名为ClassLibrary1.dll

namespace ClassLibrary1
{
    public class Class2
    {
        public string Show_Str(string str)
        {
            if (string.IsNullOrEmpty(str))
                return "你没有传参数进来";
            else
                return "有参数,参数是:" + str;
        }
    }
}

以下是反射调用DLL里面方法
注意:把ClassLibrary1.dll考到调用的根目录下

private void button2_Click(object sender, EventArgs e)
{
    //加载程序集(dll文件地址),使用Assembly类   
    Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "ClassLibrary1.dll");
 
    //获取类型,参数(名称空间+类)   
    Type type = assembly.GetType("ClassLibrary1.Class2");
    //创建该对象的实例,object类型,参数(名称空间+类)   
    object instance = assembly.CreateInstance("ClassLibrary1.Class2");
 
    //设置ClassLibrary1.dll中Show_Str方法中的参数类型,Type[]类型;如有多个参数可以追加多个   
    Type[] params_type = new Type[1];
    params_type[0] = Type.GetType("System.String");//System.Int32是整型
    //设置ClassLibrary1.dll中Show_Str方法中的参数值;如有多个参数可以追加多个   
    Object[] params_obj = new Object[1];
    params_obj[0] = "lqwvje-Dll里面方法参数";
 
    //执行Show_Str方法   params_type方法的参数类型   instance对象实例 params_obj参数值
    object value = type.GetMethod("Show_Str", params_type).Invoke(instance, params_obj);
}

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

留言板

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

热门文章

WordPress 后台编辑器样式实现直接预览 在WordPress3.0以后,有一个新的实用功能:你可以更改默认后台编辑器(TinyMCE)的样...WordPress后台编辑器样式实现直接预览 作者:Pastore Antonio
1612 浏览量
又到泡桐花开时 暮春四月,百花争艳,千姿百态,香飘千里,万木争荣。有一种泡桐树,迟于阳春三月里盛开的桃树、杏树、李树,欣欣然,翩翩然,花开芬芳,来到五彩缤纷姹紫嫣红的大自然界,向人们一展芳姿,怒放于中原大地,成为晚春时节一道靓丽的风景线。 作者:Pastore Antonio
1585 浏览量
C#图片处理 通常对一幅图片的处理包括:格式变换,缩放(Scale),翻转(Rotate),截取(Clip),滤镜...C#图片处理 作者:Pastore Antonio
1580 浏览量
【干货】Chrome插件(扩展)开发全攻略 写在前面我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的...【干货】Chrome插件(扩展)开发全攻略 作者:Pastore Antonio
1568 浏览量
memcached 处理 多端口:https://blog.csdn.net/Erica_1230/article/deta...memcached处理 作者:Pastore Antonio
1563 浏览量