Aracılığıyla paylaş


CA1058: Türler belli temel türleri genişletmemelidir

TypeName

TypesShouldNotExtendCertainBaseTypes

CheckId

CA1058

Kategori

Microsoft.Design

Değişiklik kesiliyor

Bölme

Neden

Dışarıdan görünen bir tür temel belirli türleri genişletir.Şu anda bu kural aşağıdaki türlerden birini türetmek türleri bildirir:

Kural Tanımı

İçin .NET Framework sürüm 1, onu önerilen yeni özel durumlar türetmek için ApplicationException.Öneri değişti ve yeni özel durumlar türetmek Exception veya alt sınıfları biri System ad.

Bir alt sınıfı oluşturmayın XmlDocument temel nesne modeli veya veri kaynağı, bir xml görünümünü oluşturmak istiyor.

Genel olmayan topluluklar

Kullanın ve/veya genel Koleksiyonlar olabildiğince genişletmek.Daha önce sevk sürece, genel olmayan topluluklar kodunuzda genişletmek değil.

Yanlış kullanım örnekleri

public class MyCollection : CollectionBase
{
}
 
public class MyReadOnlyCollection : ReadOnlyCollectionBase
{
}

Doğru kullanım örnekleri

public class MyCollection : Collection<T>
{
}
 
public class MyReadOnlyCollection : ReadOnlyCollection<T>
{
}

İhlalleri düzeltmek nasıl

Bu kuralı ihlal düzeltmek için farklı bir temel türü ya da genel bir koleksiyon türü türer.

Uyarıları ne zaman

Bu kural ihlalleri için uyarıdan hakkında engelleme ApplicationException.Bu kural ihlalleri için uyarıdan hakkında bastırmak güvenlidir XmlDocument.Kodu daha önce yayınlanmış, genel olmayan koleksiyonu hakkında bir uyarı bastırmak güvenlidir.