2015-04-01 67 views
-3

有沒有辦法讓我在C#中以運行時的字符串數組形式返回目標類的所有方法的列表,而不是解析所有文檔類?我想模擬一些IDE將建議方法用於輸入代碼段的內容。在運行時獲取目標類的所有方法

因此,將工作(理想),像這樣的方法:

的getMethods(foo.GetType())

而且我會被退回的Foo的方法的列表。

+0

您是否試圖實現自動完成功能?使用一個庫,它已經做到了,而不是重新發明輪子。 – 2015-04-01 16:01:29

+0

我無法實現自動完成功能,除非我已經知道可能自動完成的方法。除非你正在討論那些已經內置了這些庫的庫。 – 2015-04-01 16:07:17

+0

你可以使用反射來獲取類型上可用的方法。 – Levesque 2015-04-01 16:13:56

回答

0
using System; 
using System.Linq; 

namespace ConsoleApplication1 
{ 
    class SomeClass 
    { 
     public void A() { } 
     public void B() { } 
     public void C() { } 
     public void D() { } 
     public void E() { } 
     public void F() { } 
    } 

    class Program 
    { 
     static void Main() 
     { 
      var methods = GetMethods(typeof (SomeClass)); 

      foreach (var methodName in methods) 
      { 
       Console.WriteLine(methodName); 
      } 
     } 

     private static string[] GetMethods(Type type) 
     { 
      var methods = type.GetMethods(); 
      return methods.Select(m => m.Name).ToArray(); 
     } 
    } 
} 
相關問題