Sdílet prostřednictvím


CA1041: Poskytnout zprávu ObsoleteAttribute

Název_typu

ProvideObsoleteAttributeMessage

CheckId

CA1041

Kategorie

Microsoft.design

Změnit rozdělení

Bez rozdělení

Příčina

Typ nebo člen je označena pomocí System.ObsoleteAttribute atribut, který nemá jeho ObsoleteAttribute.Message vlastnost zadán.

Popis pravidla

ObsoleteAttributese používá k označení nepoužívaných knihovny typů a členy.Knihovna spotřebitelé neměli použít libovolný typ nebo člen, který je označena jako zastaralá.Je to proto nemusí být podporovány a nakonec bude odebrána z novější verze knihovny.Kdy typ nebo člen označena pomocí ObsoleteAttribute je kompilován Message se zobrazí vlastnosti atributu.Díky uživatelské informace o typu zastaralé nebo člena.Tyto informace obvykle zahrnují jak dlouho zastaralý typ nebo člen bude podporováno návrháři knihovny a upřednostňované náhradní používat.

Jak opravit porušení

Porušení tohoto pravidla odstranit, přidat message parametr ObsoleteAttribute konstruktor.

Při potlačení upozornění

Nepotlačovat upozornění od tohoto pravidla, protože Message vlastnost obsahuje důležité informace o zastaralý typ nebo člen.

Příklad

Následující příklad ukazuje zastaralé člen, který má správně prohlášených 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";
            }
        }
    };
}

Viz také

Referenční dokumentace

System.ObsoleteAttribute