C# 如何反射方法

Assembly.Load(assemblyName).CreateInstance(constructor, false);
上面是反射命名空间以及反射类的实例。

我现在的类已经确定好了。我只需要反射方法,如何根据我的request得到的方法名来运行该方法呢?

ibeautiful
浏览 389回答 3
3回答

慕娘9325324

假设你的类名是MyClass,方法名是Addobject obj = Assembly.Load(程序集).CreateInstance("MyClass", false);object obj2 = Type.GetType("MyClass").GetMethod("Add").Invoke(obj,null);obj2 是返回值,举例:namespace MyNamespacepublic class MyClass{public int Add(int a, int b){return a + b;}}}反射:object obj = Assembly.GetExecutingAssembly().CreateInstance("MyNamespace.MyClass", false);object obj2 = Type.GetType("MyNamespace.MyClass").GetMethod("Add").Invoke(obj, new object[] { 1, 2 });int res = (int)obj2;//res =3
打开App,查看更多内容
随时随地看视频慕课网APP