2010-08-08 45 views

回答

3

是的,這是可能的,但它並不總是安全的。野外的代碼使用Reflection API來查找類型,方法,字段等。如果代碼明確尋找非公有的代碼,將它們公開將會破壞代碼。同樣,如果代碼尋找公共代碼,並期望不包含非公共代碼,再次公開代碼將會破壞代碼。

我所知道的最好的工具是Mono.Cecil,它是一個可以讀取,操作和編寫.NET程序集的開源庫。

+0

微軟也正在(緩慢)開發[Common Compiler Infrastructure](http://ccimetadata.codeplex.com/),它與'Mono.Cecil'非常相似。 – 2010-08-08 17:53:41

0

如果組件具有強名稱,那麼您將無法用您的修改後的部件替換原件。

1

舉例說明:當您使用調試器時,您可以看到對象的私有成員,包括從其他程序集導入的對象。

相關問題