CA1041: Fornecer ObsoleteAttribute mensagem

TypeName

ProvideObsoleteAttributeMessage

CheckId

CA1041

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Não-separável

Causa

Um tipo ou membro é marcado por meio de um System.ObsoleteAttribute atributo não tem seu ObsoleteAttribute.Message a propriedade especificada.

Descrição da regra

ObsoleteAttributeé usado para marcar obsoletas de biblioteca de tipos e membros. Os consumidores de biblioteca devem evitar o uso de qualquer tipo ou membro marcado como obsoleto. Isso é porque talvez não tenham suporte e será eventualmente removida versões posteriores da biblioteca. Quando um tipo ou membro marcado usando ObsoleteAttribute é compilado, o Message a propriedade do atributo é exibida. Isso permite que as informações do usuário sobre o tipo obsoleto ou membro. Essas informações geralmente incluem quanto tempo o obsoleto tipo ou membro será suportado pelos designers de biblioteca e a substituição preferencial para usar.

Como corrigir violações

Para corrigir uma violação desta regra, adicione a message parâmetro para o ObsoleteAttribute construtor.

Quando suprimir avisos

Não suprimir um aviso de que esta regra porque o Message propriedade fornece informações importantes sobre o tipo obsoleto ou membro.

Exemplo

O exemplo a seguir mostra um membro obsoleto que tenha declarado 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";
            }
        }
    };
}

Consulte também

Referência

System.ObsoleteAttribute