Share via


ObsoleteAttribute-Meldung bereitstellen

Aktualisiert: November 2007

     TypeName

ProvideObsoleteAttributeMessage

CheckId

CA1041

Kategorie

Microsoft.Design

Unterbrechende Änderung

Nicht unterbrechend

Ursache

Ein Typ oder Member ist durch ein System.ObsoleteAttribute-Attribut markiert, dessen ObsoleteAttribute.Message-Eigenschaft nicht festgelegt wurde.

Regelbeschreibung

ObsoleteAttribute wird verwendet, um veraltete Bibliothekstypen und Member zu markieren. Bibliotheksnutzer sollten es vermeiden, als veraltet markierte Typen oder Member zu verwenden, weil sie möglicherweise nicht unterstützt und aus späteren Versionen der Bibliothek entfernt werden. Wenn ein mit ObsoleteAttribute markierter Typ oder Member kompiliert wird, wird die Message-Eigenschaft des Attributs angezeigt, die dem Benutzer Informationen über den veralteten Typ oder Member gibt. Diese Informationen enthalten im Allgemeinen Angaben darüber, wie lange der veraltete Typ oder Member von den Bibliotheksentwicklern noch unterstützt wird und durch welches Element er ersetzt werden soll.

Behandlung von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, fügen Sie den message-Parameter dem ObsoleteAttribute-Konstruktor hinzu.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel, da die Message-Eigenschaft wichtige Informationen über den veralteten Typ oder Member bereitstellt.

Beispiel

Im folgenden Beispiel wird ein veralteter Member mit einem ordnungsgemäß deklarierten ObsoleteAttribute veranschaulicht.

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

Siehe auch

Referenz

System.ObsoleteAttribute