terça-feira, março 13, 2007

const VS static readonly

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: