Fornecer ObsoleteAttribute mensagem
TypeName |
ProvideObsoleteAttributeMessage |
CheckId |
CA1041 |
Category (Categoria) |
Microsoft.Design |
Quebrando alterar |
Não separável |
Causa
Um tipo ou membro é marcado com um System.ObsoleteAttribute atributo que não tenha seu ObsoleteAttribute.Message propriedade especificada.
Descrição da regra
ObsoleteAttribute é usado para marcar preterido biblioteca tipos e membros. Os consumidores de biblioteca devem evitar usar qualquer tipo ou membro que está marcado como obsoleto, porque ele pode não oferecer suporte e, eventualmente, será removido do versões posteriores da biblioteca.Quando um tipo ou membro marcado com ObsoleteAttribute é compilado, o Message propriedade do atributo é exibida, e o usuário receberá informações sobre o obsoleto de tipo ou membro. Essas informações geralmente incluem quanto tempo o tipo obsoleto ou membro terá suporte, os designers de biblioteca e a substituição preferencial para usar.
Como corrigir violações
Para corrigir uma violação dessa regra, adicione o message parâmetro para o ObsoleteAttribute construtor.
Quando suprimir avisos
Eliminar um aviso da regra, sistema autônomo a Message propriedade fornece informações essenciais sobre obsoleto de tipo ou membro.
Exemplo
O exemplo a seguir mostra um membro obsoleto com um declarados corretamente ObsoleteAttribute.
Imports System
Namespace DesignLibrary
Public Class ObsoleteAttributeOnMember
<ObsoleteAttribute("This property is obsolete and will " & _
"be removed in a future version. Use the FirstName " & _
"and LastName properties instead.", False)> _
ReadOnly Property Name As String
Get
Return "Name"
End Get
End Property
ReadOnly Property FirstName As String
Get
Return "FirstName"
End Get
End Property
ReadOnly Property LastName As String
Get
Return "LastName"
End Get
End Property
End Class
End Namespace
using System;
namespace DesignLibrary
{
public class ObsoleteAttributeOnMember
{
[ObsoleteAttribute("This property is obsolete and will " +
"be removed in a future version. Use the FirstName " +
"and LastName properties instead.", false)]
public string Name
{
get
{
return "Name";
}
}
public string FirstName
{
get
{
return "FirstName";
}
}
public string LastName
{
get
{
return "LastName";
}
}
}
}
using namespace System;
namespace DesignLibrary
{
public ref class ObsoleteAttributeOnMember
{
public:
[ObsoleteAttribute("This property is obsolete and will "
"be removed in a future version. Use the FirstName "
"and LastName properties instead.", false)]
property String^ Name
{
String^ get()
{
return "Name";
}
}
property String^ FirstName
{
String^ get()
{
return "FirstName";
}
}
property String^ LastName
{
String^ get()
{
return "LastName";
}
}
};
}