2016-11-14 61 views
0

假設我想分享我編寫的幫助程序方法,但是由於其引用的所有其他幫助程序代碼(類,擴展方法等),將代碼複製並粘貼到電子郵件中並不那麼直截了當。因此,爲了共享代碼,我必須或者1)將所有幫助程序類/方法的主體嵌入我想要共享的代碼中,或者2)轉到每個組件的引用,並將其複製/粘貼到電子郵件中。有沒有辦法從類/方法/其他組件導出所有源代碼依賴項?

如果我可以右鍵單擊某個方法並將其整個依賴關係樹中的代碼導出到單個文件,會更容易。我不確定是否有辦法在VS中執行此操作,或者是否需要第三方實用程序。

+0

這是共享代碼的錯誤方式,因此最有可能沒有擴展名或任何爲您執行此操作的任何操作,只是因爲這是錯誤的操作。相反,使用可共享代碼創建一個單獨的類庫並將所有代碼編譯成該代碼庫,然後根據需要簡單地共享最終程序集(.dll)或項目源代碼。 –

+0

@LasseV.Karlsen「錯誤的方式」完全是主觀的,特別是如果我只是想給某人一個關於我如何做某事的大概想法。我已經將所有代碼都放在類庫中,並可以與同事共享回購鏈接。但是,獲取整個庫的最新信息,然後添加對項目的引用是很乏味的。另外,如果我想在SE上分享一些代碼而不經過聚合所有依賴關係或內聯我的所有幫助程序代碼的艱鉅任務,該怎麼辦? – oscilatingcretin

+0

你可以做[與Roslyn](https://github.com/dotnet/roslyn/wiki/Samples-and-Walkthroughs),它需要一些工作,但可以完成。 –

回答

0

我不認爲這是可能的,這不是方法應該共享的方式。讓我們假設你的方法將取決於使用某個其他類中聲明的某個效用函數,該工具應該做什麼?導出整個班級?如果是這樣的話,那麼該類的其他依賴關係必須被生成(遞歸地生成相同的困境),或者僅僅利用該方法來利用一個類,但是在這種情況下,該工具必須猜測該方法是否是自包含的,遞歸地按照所描述的那樣進行。 如果你想分享一個片段,你必須注意自己是自我包容的。否則創建一個實用程序庫。

+0

它不會導出整個班級。相反,它會通過依賴關係樹進行遞歸併僅導出引用的組件。無論如何,我不同意任意說「這是分享方法的錯誤方式」。 – oscilatingcretin

+0

@oscilatingcretin實際上我沒有說這是錯誤的,但這不是代碼應該被共享的方式... –

+0

基本上是同一件事(忽略可能導致不同意思的不同意思的詞彙中的潛在差異)。無論你如何散列它,它仍然是一個任意的斷言。無論如何,仍然感謝你的答案。 – oscilatingcretin

相關問題