Ter 4 Nov 2008
1 Requerimentos de sistema
O bug relacionado neste post foi detectado utilizando-se os softwares abaixo:
• Windows Vista Enterprise Edition SP1.
• Visual Studio Team System 2008 (2008 9.0.21022.8 RTM).
• .NET Framework 3.5.
• Compilador C# 3.5.21022.8
2 Demonstração
Veja abaixo um exemplo de utilização do atributo Obsolete:
Note que a propriedade Users foi marcada como obsoleta, onde os parâmetros abaixo foram definidos como:
• message = “Esta propriedade está obsoleta” (mensagem de erro ou alerta que é exibida durante a compilaçào quando a propriedade for utilizada).
• error = true (indica que a utilização da propriedade obsoleta deve implicar em um erro de compilação).
Conforme o esperado, quando compilamos o código abaixo, obtemos um erro na linha em destaque:
Entretanto, se implemetarmos a alteração em destaque abaixo, onde não utilizamos diretamente a propriedade obsoleta, mas sim um elemento da coleção, notaremos que nenhum erro é informado durante o processo de compilação:
3 Conclusão
Mantenha atenção redrobrada no emprego do atributo Obsolete na tentativa de minimizar a possibilidade de comportamentos inesperados pelo sistema.
A boa notícia é que a correção deste bug já foi providenciada pelo time da Microsoft e deve estar disponível na próxima versão da plataforma .NET.
4 Código-fonte
Você pode baixar o código-fonte desta ferramenta no endereço http://www.orchestratechnology.com.br/blog/csharp/ObsoleteCheck.zip.
Enviar por e-mail. Hits para esta publicação: 337.
Dezembro 2nd, 2008 at 11:49
Fala Evandro, ótimo post. Dei uma passada por aqui só pra dar um “Alow”
To de blog novo, www.devexperts.com.br
Dá uma passada lah!
Abraços!!!
Dezembro 8th, 2008 at 14:29
Seu blog está sensacional, cheio de novidades. Vou referenciá-lo aqui.