2010-01-27 51 views
0

我想使用此代码获取从组件“的Mscorlib.dll”的所有方法,但我得到这个错误此代码是否适用于您的Visual Studio版本? C#

“无法投类型的对象System.Reflection.RuntimeConstructorInfo为键入“系统。 Reflection.MethodInfo'。“

基本上我想要做的就是获取该程序集的接口或成员列表。

继承人的代码:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Reflection; 

namespace ConsoleApplication1 { 
    class Program 
    { 

     static void Main(string[] args) 
     { 
      Assembly a = Assembly.Load("Mscorlib.dll"); 
      foreach (Type oType in a.GetTypes()) 
      { 
       MemberInfo[] f = oType.GetMembers(); 
       foreach (MethodInfo m in f) 
        Console.WriteLine("Member: {0}",m.ToString()); 
      } 
     } 
     } 
} 

你觉得呢?

+0

这将是一个伟大的参数使用' var'关键字,然后检查文档/智能感知以获得更深入的知识。 –

回答

4

是的,大家不能得到与方法互换,应该是:

MemberInfo[] f = oType.GetMembers(); 
foreach (MemberInfo m in f) 
    Console.WriteLine("Member: {0}",m.ToString()); 

变化是:的foreach(的MemberInfo在女男)

+0

你好布莱恩,是的你的权利!这样一个愚蠢的错误......谢谢 –

1

你的意思是使用oType.Getmethods()吗?因为在其他情况下,您正在枚举所有成员,但期望他们都是方法

相关问题