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