C#:通过类名和方法名调用方法
1.我们先定义三个方法
using System; namespace Testrun { public class Testclass { public void PrintTxt() { Console.WriteLine("void&noparameter"); } public void PrintTxt(int value1) { Console.WriteLine("void&1parameter:" + value1); } public string PrintTxt(int value1, int value2) { var resStr = "string&2parameter: " + value1 + ", " + value2; //Console.WriteLine(resStr); return resStr; } } }
2.调用的方式
using System; namespace Testrun { class Program { static void Main(string[] args) { string strClass = "Testrun" + "." + "Testclass"; const string strMethod = "PrintTxt"; var type = Type.GetType(strClass); if (type == null) return; var obj = Activator.CreateInstance(type); var method = type.GetMethod(strMethod, new Type[] { }); if (method != null) method.Invoke(obj, null); method = type.GetMethod(strMethod, new[] { typeof(int) }); var parameters = new object[] { 18 }; if (method != null) method.Invoke(obj, parameters); method = type.GetMethod(strMethod, new[] { typeof(int), typeof(int) }); parameters = new object[] { 18, 2 }; if (method != null) { var res = (string)method.Invoke(obj, parameters); Console.WriteLine(res); } } } }
3.运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异