2014-02-15 105 views
3

我正在製作兩個版本的庫;一個用於交付給客戶,另一個用於內部使用。使用System.Diagnostics.Conditional從庫中排除方法

兩個版本之間的區別是,在內部版本將包含客戶不能有方法。

到現在爲止,我已經使用舊式#ifdef'ing區分代碼,但我想過渡到System.Diagnostics.Conditional。

如果我使用System.Diagnostics.Conditional排除的方法,有一些方法用戶可以發現法,反向工程,或執行呢?

在此先感謝!

回答

2

的方法仍然會存在,但calls are removed

應用ConditionalAttribute的方法指示一個調用方法不應該被編譯到Microsoft中間語言編譯器(MSIL)

因此,反編譯時,客戶端可以發現方法體,當它們引用包含該方法的程序集時,它們可以簡單地從其代碼中調用它。