Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Özellik | Değer |
|---|---|
| Kural Kimliği | CA1041 |
| Başlık | ObsoleteAttribute iletisini ver |
| Kategori | Tasarım |
| Düzeltme bozucu veya bozucu olmayan bir etkisi olabilir | Kaydırmaz |
| .NET 10'da varsayılan olarak etkin | Öneri olarak |
| Geçerli diller | C# ve Visual Basic |
Neden
Bir tür veya üye, özelliği belirtilmemiş System.ObsoleteAttribute bir System.ObsoleteAttribute.Message öznitelik kullanılarak işaretlenir.
Varsayılan olarak, bu kural yalnızca dışarıdan görünen türler ve üyelere bakar, ancak bu yapılandırılabilir.
Kural açıklaması
ObsoleteAttribute , kullanım dışı kitaplık türlerini ve üyelerini işaretlemek için kullanılır. Kitaplık tüketicileri, kullanım dışı olarak işaretlenmiş herhangi bir tür veya üyenin kullanımından kaçınmalıdır. Bunun nedeni, desteklenmeyebilir ve sonunda kitaplığın sonraki sürümlerinden kaldırılacak olmasıdır. kullanılarak ObsoleteAttribute işaretlenen bir tür veya üye derlendiğinde özniteliğin Message özelliği görüntülenir. Bu, kullanıcıya kullanım dışı tür veya üye hakkında bilgi verir. Bu bilgiler genellikle eski türün veya üyenin kitaplık tasarımcıları tarafından ne kadar süreyle destekleneceğini ve kullanılacak tercih edilen değişikliği içerir.
İhlalleri düzeltme
Bu kuralın ihlalini düzeltmek için message parametresini ObsoleteAttribute oluşturucuya ekleyin.
Uyarıların ne zaman bastırılması gerekiyor?
Özellik, eski tür veya üye hakkında kritik bilgiler sağladığından, bu kuraldan gelen bir uyarıyı gizlemeyin.
Analiz için kodu yapılandır
Bu kuralın kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırmak için aşağıdaki seçeneği kullanın.
Bu seçeneği yalnızca bu kural, geçerli olduğu tüm kurallar veya bu kategorideki (Tasarım) tüm kurallar için yapılandırabilirsiniz. Daha fazla bilgi için bkz . Kod kalitesi kuralı yapılandırma seçenekleri.
Belirli API yüzeylerini ekleme
api_surface seçeneğini ayarlayarak, bu kuralın erişilebilirliği temelinde kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırabilirsiniz. Örneğin, kuralın yalnızca genel olmayan API yüzeyinde çalıştırılması gerektiğini belirtmek için projenizdeki bir .editorconfig dosyasına aşağıdaki anahtar-değer çiftini ekleyin:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Not
XXXX
CAXXXX bölümünü geçerli kuralın kimliğiyle değiştirin.
Örnek
Aşağıdaki örnekte, doğru şekilde bildirilen ObsoleteAttributeeski bir üye gösterilmektedir.
[ObsoleteAttribute("This property is obsolete and will be removed in a " +
"future version. Use the FullName property instead.", false)]
public string Name
{
get => "Name";
}
Imports System
Namespace ca1041
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