public const int MAX_VALUE = 10; 那麼對於程序中調用此靜態常量這段代碼,在編譯後產生的中間語言代碼中,是用10來進行替換,即使用靜態常量的地方,改為10了。
那麼當類庫的靜態變量發生變化後,例如:
public const int MAX_VALUE = 15; 那麼對於調用端程序是可以在沒有重新編譯的情況下進行運行,不過此時程序的中間語言代碼對應於靜態變量的值是10,而不是新類庫中的15。因此這樣產生的不一致,程序會引發潛在的bug。解決此類問題的方法,就是調用端程序在更新類庫之後重新編譯一下,即生成新的中間語言代碼。