2012-05-09 61 views
3

我知道下拉列表中顯示了班級中許多其他內容中的所有方法,但我正在製作流程圖,因此我需要一個列表,如文本在類中的所有方法。我怎樣才能得到這個列表,因爲目前我手動粘貼方法名稱複製到一個列表,這是非常麻煩的,因爲我有600種方法...Visual Studio中的方法名稱列表

回答

5

使用Visual Studio的「重構」菜單,然後選擇「提取接口」。 Refactor->Extract Interface on MSDN for Visual Studio 2008

enter image description here

點擊按鈕全選,然後單擊按鈕確定。這將爲您在您的項目中創建一個新文件。 enter image description here

然後您可以根據需要複製和粘貼。

enter image description here

一定要回到你的等級和刪除該接口實現代碼。

+0

我沒有downvote你.... – Bulvak

+1

我認爲這是一個很好,快速(和骯髒)的方式來做到這一點。使用源代碼管理系統,您可以輕鬆撤消所做的更改。所以,+1我... – eFloh

+0

我喜歡這個過於簡單和容易重用的未來計劃。 – Bulvak

1

您可以使用反射來獲取所有方法,屬性等列表和然後將它們寫入控制檯或文件。

好,例如,如果你想獲得類中的所有公共靜態方法,你可以這樣做:

// get all public static methods of MyClass type 
MethodInfo[] methodInfos = typeof(MyClass).GetMethods(BindingFlags.Public | 
                 BindingFlags.Static); 
// sort methods by name 
Array.Sort(methodInfos, 
     delegate(MethodInfo methodInfo1, MethodInfo methodInfo2) 
     { return methodInfo1.Name.CompareTo(methodInfo2.Name); }); 

// write method names 
foreach (MethodInfo methodInfo in methodInfos) 
{ 
    Console.WriteLine(methodInfo.Name); 
} 

反思是其中一個系統可以查詢的方式,在運行時,該類型的對象以及這些對象所暴露的方法和屬性。

在你的情況下,你不只是想要所有的公共和靜態的,但所有的方法。所以你會對上面的代碼進行適當的修改來獲得它。

+1

反射?那是什麼? – Bulvak

+0

「反射提供了封裝程序集,模塊和類型的對象(類型爲Type)。您可以使用反射來動態創建類型的實例,將類型綁定到現有對象,或從現有對象獲取類型並調用其方法或訪問其字段和屬性,如果您在代碼中使用屬性,則可以使用Reflection來訪問它們,有關詳細信息,請參閱屬性。 - http://msdn.microsoft.com/en-us/library/ms173183(v=vs.80).aspx –

+0

我把這段代碼放在我的代碼中,我得到了很多錯誤,我的應用程序是一個Windows表單應用程序是一個問題,還是我把這個代碼放在一個錯誤的地方?我把這段代碼放在我的代碼的底部,就在最後一個大括號 – Bulvak

0

極度遲到派對,但這是一種不妨礙代碼的方式。

  • 使用拆卸工具,如Telerik JustDecompile
  • 瀏覽並打開包含代碼的程序集。
  • 瀏覽到類型,在文本窗口中選擇反彙編。
  • 然後,使用文本編輯器,如​​至 format/clean the text。
相關問題