2010-04-09 13 views
0

我想在編譯我的Visual Studio項目時將所有公共變量變量/方法/類作爲內部函數。源代碼不會改變,但編譯的庫完成後,它應該只有內部訪問權限。這可能嗎?編譯時可以在Visual Studio中創建所有公共變量/方法/類嗎?

我有「InternalsVisibleTo(」ClassLibrary「)」設置在所有項目的程序集信息文件中,但是,我不想在「public」中對「internal」運行全部替換。有沒有人知道這是否有消息?所以當我編譯時,構建我的項目,發佈項目只允許內部訪問。

謝謝你,有一個愉快的一天,

+4

是否有一個特別的原因,你不想只聲明你的類型和成員爲'internal'? – 2010-04-09 10:34:32

+0

我不明白。如果每個成員都是「內部」,外部代碼如何使用該庫? – 2010-04-09 10:36:15

+0

通過在程序集信息文件中使用InternalsVisibleTo()。 – Joe 2010-04-09 10:38:18

回答

1

我想你誤會使用InternalsVisibleTo屬性。它用於允許程序集中的代碼訪問另一個程序集,以訪問聲明爲internal的類型和成員。

假設你有AssemblyA,其中你有internal class SomeClass。然後你有AssemblyB。 AssemblyB中的代碼不能使用SomeClass,因爲它是AssemblyA中的internal。然後,您可以在AssemblyA中使用InternalsVisibleTo授予AssemblyB使用類型和AssemblyA成員的訪問權限。

如果您只是想將代碼作爲AssemblyA的內部代碼,則需要從頭開始相應地聲明類型;對此沒有捷徑。

+0

感謝您的反饋意見。 – Joe 2010-04-09 10:50:13

相關問題