C# e códigos deprecated
Você desenvolve uma biblioteca de utilitários para facilitar a vida dos outros desenvolvedores da empresa, porém algumas vezes é necessário refatorar códigos, criando/renomeando/apagando alguns métodos. Obviamente você não pode sair mudando tudo, existe código "antigo" usando a sua "lib".
Existe um atributo no C# que permite que você marque código como deprecated,
é o Obsolete, muito útil e fácil de usar.
[Obsolete("Use o método MinhaClasse.MeuMetodo(int parametro)")] public static void MeuMetodo(string parametro) { // ... }
No exemplo acima quero que os desenvolvedores usem a versão que recebe um integer como parâmetro,
e não mais a versão com string.
Você ainda pode dizer que é para o compilador gerar um erro ao compilar o código,
passando true como segundo parâmetro do atributo.
[Obsolete("Este método não deve mais ser usado. Usar MinhaClasse.MeuMetodo(int parametro)", true)] public static void MeuMetodo(string parametro) { // ... }