反射学习

本文介绍了一个使用C#反射机制动态加载并调用DLL文件中的方法的示例。通过加载DLL,获取类型和方法信息,创建实例,并传递参数调用方法,展示了反射在.NET中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态加载与调用 /// <summary>
/// 反射
/// </summary>
/// <param name="name"></param>
/// <param name="age"></param>
/// <returns></returns>
public static string ShowStuInfo(string name,int age)
{

//Assembly asly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory+"Model.dll");

Assembly asly = Assembly.Load("Model");//加载dll文件

Type type = asly.GetType("Model.StudentInfo");//获取类型

MethodInfo method = type.GetMethod("ShowInfo");//获取调用的方法

Object obj = asly.CreateInstance("Model.StudentInfo");//创建实例对象

Object[] param = new Object[]{name,age};//传递的参数

Object stuInfo= method.Invoke(obj,param);

return stuInfo.ToString();

}


namespace Model
{
    public class StudentInfo
    {
        public string ShowInfo(string name,int age)
        {
            return "姓名:" + name+",年龄:"+age.ToString();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值