简单程序实现反射特性的用法

首先创建一个类库,命名空间为“ReflectTestNameSpace”,类名称为“testDemo”,如下代码所示,将该类库进行编译,生成DLL文件。
namespace ReflectTestNameSpace
{
public class testDemo
{
public static void Say(string sss)
{
Console.WriteLine(“say--------”+sss);
Console.ReadKey();
}
}
}

第二步创建可执行程序如下:
static void Main(string[] args)
{
Assembly ass = Assembly.LoadFrom(“ReflectTestNameSpace.dll”);

        Type t = ass.GetType("ReflectTestNameSpace.testDemo");

        object obj = Activator.CreateInstance(t);

        MethodInfo mi = t.GetMethod("Say");

        object[] papa = new object[1];
        papa[0] = "diyige";
        mi.Invoke(obj,papa);
        
    }
    注意啦,敲黑板:最后执行创建的实例时,是将实例obj放在mi.Invoke中的第一个参数位置,后面的papa中放的是实例方法的参数,如果实例方法中有两个参数,则将object []创建成长度为2的数组,每个元素分别对应一个参数即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值