CA1044: Özellikler salt yazılır olmamalıdır
TypeName |
PropertiesShouldNotBeWriteOnly |
CheckId |
CA1044 |
Kategori |
Microsoft.Design |
Değişiklik kesiliyor |
Bölme |
Neden
Ortak ya da protected özelliği, bir set erişimcisi olan ancak get erişimcisine sahip değil.
Kural Tanımı
Get erişimcileri bir özelliği okuma erişimi sağlamak ve set erişimcileri yazma erişimi sağlamak.Kabul edilebilir ve salt okunur bir özellik genellikle gerekli olmasına karşın, tasarıma ilişkin yönergeleri salt yazılır özellik kullanılmasını engeller.Bu, çünkü bir kullanıcı bir değere ayarlayın ve sonra değeri görüntüleme kullanıcı engelleyen herhangi bir güvenlik sağlamaz.Ayrıca, okuma erişimi paylaşılan nesnelerin durumunu, hangi faydaları sınırlar görüntülenemez.
İhlalleri düzeltmek nasıl
Bu kuralı ihlal düzeltmek için bir get erişimcisi özelliğine ekleyin.Alternatif olarak, salt yazılır özellik davranışını gerekiyorsa, bu özellik için bir yöntem dönüştürme düşünün.
Uyarıları ne zaman
Uyarı Bu kuraldan engelleme önerilir.
Örnek
Aşağıdaki örnekte, BadClassWithWriteOnlyProperty salt yazılır özellik ile bir türüdür.GoodClassWithReadWritePropertydüzeltilmiş kod içerir.
Imports System
Namespace DesignLibrary
Public Class BadClassWithWriteOnlyProperty
Dim someName As String
' Violates rule PropertiesShouldNotBeWriteOnly.
WriteOnly Property Name As String
Set
someName = Value
End Set
End Property
End Class
Public Class GoodClassWithReadWriteProperty
Dim someName As String
Property Name As String
Get
Return someName
End Get
Set
someName = Value
End Set
End Property
End Class
End Namespace
using System;
namespace DesignLibrary
{
public class BadClassWithWriteOnlyProperty
{
string someName;
// Violates rule PropertiesShouldNotBeWriteOnly.
public string Name
{
set
{
someName = value;
}
}
}
public class GoodClassWithReadWriteProperty
{
string someName;
public string Name
{
get
{
return someName;
}
set
{
someName = value;
}
}
}
}