2010-01-27 54 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()嗎?因爲在其他情況下,您正在枚舉所有成員,但期望他們都是方法

相關問題