日期:2014-05-17  浏览次数:21130 次

关于Type.GetMethod返回为null的问题
代码片段如下:
Type[] types = new Type[] { Type.GetType("System.Data.DataSet&,System.Data,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"), Type.GetType("System.Guid&"), Type.GetType("System.Int32&"), Type.GetType("System.String&") };

MethodInfo mi = this.typeName.GetMethod("Login", types); //typeName其中代理类类型名称
我Debug的时候发现mi值为null,没有获取到方法。但我通过调用另一个方法的时候,却可以成功执行,如下:

Type[] types = new Type[] { Type.GetType("System.DateTime&") };
MethodInfo mi = this.typeName.GetMethod("GetCurrentTime", types);

我已经确认了两个方法都是public的,而且方法名也都没有问题。
求助高手。
反射 GetMethod

------解决方案--------------------
还是贴出你具体的类吧
------解决方案--------------------
只要webservice可以调用,动态创建调用也是没有问题的.应该是你反射没成功.
------解决方案--------------------
显然是反射有问题。要上具体代码看看。
------解决方案--------------------
参数类型/个数/顺序/返回值不正确
方法名不正确
方法是私有的、静态的