CA1051: Görünür örnek alanlarını bildirme
TürAdı |
DoNotDeclareVisibleInstanceFields |
CheckId |
CA1051 |
Kategori |
Microsoft.Design |
Bozan Değişiklik |
Bozan |
Sebep
Dışarıdan görünebilen bir tür dışarıdan görünebilen bir alana sahiptir.
Kural Tanımı
Bir alanın birincil kullanım alanı uygulama ayrıntısı olması gerekir.Alanların private veya internal olması gerekir ve özelliklerini kullanmaya maruz kalması gerekir.Bir özelliğe erişmek bir alana erişmek kadar kolaydır ve koddaki erişim özelliği genişletilmiş türün özelliklerinin değişimindeki gibi değişiklikleri bozmadan değiştirlebilmelidir.Bir alana erişim ile eşit gerçekleştirmek için iyileştirilmiş özel veya iç alanın değerini döndüren özellik; çok küçük performans kazanımı özelliklerin üstünde dışarıdan görünebilir alanlar kullanımıyla ile ilişkilidir.
public , protected ve protected internal (Public, Protected ve Visual Basic'teki Protected Friend ) erişilebilirlik düzeyleri dışarıdan görünebilir.
İhlallerin Düzeltilmesi
Bu kural ihlalini düzeltmek için alanları private veya internal yapın ve dışarıdan görünebilir özellik kullanmaya maruz bırakın.
Uyarılar Ne Zaman Bastırılmalı
Bu kuraldan bir uyarı gizlemeyin.Dışarıdan görünen alanlar özellikler kullanılmayan özellikler için herhangi bir yarar sağlamaz.Ayrıca, ortak alanlar Bağlantı Talepleri tarafından korunamazlar.Bkz: CA2112: Güvenli türler alanları açığa çıkarmamalıdır
Örnek
Aşağıdaki örnekte, kuralı ihlal eden bir tür (BadPublicInstanceFields) gösterilmektedir.GoodPublicInstanceFields düzeltilmiş kodu gösterir.
using System;
namespace DesignLibrary
{
public class BadPublicInstanceFields
{
// Violates rule DoNotDeclareVisibleInstanceFields.
public int instanceData = 32;
}
public class GoodPublicInstanceFields
{
private int instanceData = 32;
public int InstanceData
{
get { return instanceData; }
set { instanceData = value ; }
}
}
}
İlgili Kurallar
CA2112: Güvenli türler alanları açığa çıkarmamalıdır