Partilhar via


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";
            }
        }
    };
}

Consulte também

Referência

System.ObsoleteAttribute