Compartilhar via


CA1058: os tipos não devem estender determinados tipos base

TypeName

TypesShouldNotExtendCertainBaseTypes

CheckId

CA1058

Categoria

Microsoft.Design

Alteração Significativa

Quebra

Causa

Um tipo externamente visível estende determinados tipos de base.Atualmente, esta regra relata os tipos que deriva dos seguintes tipos:

Descrição da Regra

Para a versão 1 de .NET Framework , recomendou-se derivar novas exceções de ApplicationException.A recomendação foi alterado e as novas exceções deve derivar de Exception ou de uma das subclasses no namespace de System .

Não crie uma subclasse de XmlDocument se você quiser criar uma exibição XML de um modelo ou de uma fonte de dados do objeto subjacente.

Coleções não genéricas

Use e/ou estender coleções genéricas sempre que possível.Não estender coleções não genéricas em seu código, a menos que você o enviar previamente.

Exemplos do uso incorreto

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

Exemplos do uso correto

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

Como Corrigir Violações

Para corrigir uma violação desta regra, derivar o tipo de um tipo de base diferente ou uma coleção genérica.

Quando Suprimir Alertas

Não suprima um aviso desta regra para violações sobre ApplicationException.É seguro suprimir um aviso desta regra para violações sobre XmlDocument.É seguro suprimir um aviso sobre uma coleção não genérico se o código foi liberado anteriormente.