參考:https://blog.csdn.net/chrisdayan/article/details/84959859
標題:C# 通過方法名調用方法
請閱讀原文!本文是照抄的原文。
已有方法
namespace CAD2008.Functions { class CreateSgtExcel { public void PCSM(string fileTemplatePath, string projectName, string projectNum) { //... } } }
調用方法:
using System; using System.Reflection; //反射獲取 命名空間+類名 string className = "CAD2008.Functions.CreateSgtExcel"; string methodName = "PCSM"; //傳遞參數 Object[] paras = new Object[] { templatePath, projectName, projectNum }; Type t = Type.GetType(className); object obj = Activator.CreateInstance(t); //直接調用 MethodInfo method = t.GetMethod(methodName); method.Invoke(obj, paras);
原理是,使用的反射。