Sdílet prostřednictvím


CA1041: Poskytněte 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í 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

ObsoleteAttribute