C#利用反射动态调用类及方法
此方法可以用于未明确类名及方法名,通过对动态获取到存储在变量中的类和方法进行访问
string className = "Class1";//类名称
string strClass = "ConsoleApplication1." + className; //命名空间+类名 注意:类不可以是抽象类,否则无法创建
string strMethod = "test";//方法名
Type type;
object objs;
//通过string类型的strClass获得同名类“type”
type = Type.GetType(strClass);
//创建type类的实例 "objs"
objs = System.Activator.CreateInstance(type);
//加载需要访问的方法,如果有参数的可以设置传参Type[]中是参数的个数和类型,可根据实际调用的方法定义,无参方法GetMethod中只填写类名变量即可
MethodInfo method = type.GetMethod(strMethod, new Type[] { typeof(string), typeof(string) });
//使用指定参数调用由当前实例表示的方法或构造函数。
method.Invoke(objs, new object[] { "参数1", "参数2" });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述