Qual será a diferença entre uma variável constante e uma variável só de leitura...aparentemente não há diferença? Pois é mas há diferença, uma variável const fica com o seu valor definido em
compile time e uma variável static readonly fica com o seu valor definido em
run time. O que isto provoca? As variáveis const são mais optimizadas enquanto que as variáveis static readonly são mais flexíveis. Imagine-se o cenário da figura seguinte:

No caso de se ter de alterar a variável 'a' é necessário recompilar tanto o Assembly 1 como o Assembly 2, no caso de se alterar a variável 'b' apenas é necessário recompilar o Assembly 1 e não o Assembly 2 que referência o Assembly 1.
Sem comentários:
Enviar um comentário