Já ocorreu de precisarmos criar uma classe conteúdo algumas funcionalidades básicas mais usadas e algumas dessas deixaram de ser úteis ou sofreram algum tipo de evolução. OK, mais e as aplicações que utiliza essa nossa classe, como identificar?
Em .NET existe o atributo Obsolete, que pode marcar em nossa classe se ele é um código obsoleto e até mesmo impedir que ele seja compilado.
Segue abaixo como utiliza-lo
[Obsolete("Utilize o método PesquisarCliente()")] public DataSet ListarClientes() { // Aqui vai o codigo antigo return new DataSet(); } public DataSet PesquisarClientes() { // Aqui vai o codigo novo return new DataSet(); }
No caso acima, se utilizarmos o método ListarClientes() seremos avisado de que o método é obsoleto e que poderemos utilizar o método PesquisarClientes() como alternativa.
Mais e se caso eu queira forçar a substituição do método pelo programador? Segue abaixo.
[Obsolete("Utilize o método PesquisarCliente()", true)] public DataSet ListarClientes() { // Aqui vai o codigo antigo return new DataSet(); } public DataSet PesquisarClientes() { // Aqui vai o codigo novo return new DataSet(); }
Se observar bem, verá que foi informado um novo parâmetro no atributo Obsolete. Informamos true para que seja exibido erro quando for utilizado o nosso método antigo ou até mesmo onde já esteja utilizando.
Esse atributo é ideal para nossas métodos que não sofreram evolução e necessitam ser substituidas.
Fica ai a dica.
Abraço e sucesso!