Como marcar um método como obsoleto ou obsoleto usando C # ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Serve a um propósito ligeiramente diferente.
Como marcar um método como obsoleto ou obsoleto usando C # ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Serve a um propósito ligeiramente diferente.
Respostas:
O caminho mais curto é, adicionando o ObsoleteAttribute
como um atributo para o método . Certifique-se de incluir uma explicação apropriada:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
Você também pode causar falha na compilação, tratando o uso do método como um erro em vez de aviso , se o método for chamado de algum lugar no código como este:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Para marcar como obsoleto com um aviso:
[Obsolete]
private static void SomeMethod()
Você recebe um aviso ao usá-lo:
E com o IntelliSense:
Se você deseja uma mensagem:
[Obsolete("My message")]
private static void SomeMethod()
Aqui está a dica da ferramenta IntelliSense:
Finalmente, se você deseja que o uso seja sinalizado como um erro:
[Obsolete("My message", true)]
private static void SomeMethod()
Quando usado, é o que você obtém:
Nota: Use a mensagem para informar às pessoas o que elas devem usar, e não por que é obsoleto.
Com ObsoleteAttribute
você pode mostrar o método obsoleto. O atributo obsoleto possui três construtores:
[Obsolete]:
é um construtor sem parâmetros e é um padrão usando este atributo.[Obsolete(string message)]:
Nesse formato, você pode entendermessage
por que esse método foi descontinuado.[Obsolete(string message, bool error)]:
nesse formato, a mensagem é muito explícita, maserror
significa que, no tempo de compilação, o compilador deve estar mostrando erro e causar falha na compilação ou não.