Compartilhar via


CA1058: Tipos não devem estender certos tipos base

TypeName

TypesShouldNotExtendCertainBaseTypes

CheckId

CA1058

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Quebrando

Causa

Um tipo visível externamente estende a determinados tipos de base.Atualmente, essa regra relata tipos que derivam dos seguintes tipos:

Descrição da regra

Para .NET Framework versão 1, era recomendável para derivar novas exceções a partir de ApplicationException.A recomendação foi alterado e novas exceções devem derivar da System.Exception ou uma de suas subclasses na System espaço para nome.

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

ms182171.collapse_all(pt-br,VS.110).gifColeções não genéricas

Usar e/ou estender coleções genéricas, sempre que possível.Não se estendem coleções não genéricas no seu código, a menos que você entregue anteriormente.

Exemplos de uso incorreto

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

Exemplos de uso correto

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

Como corrigir violações

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

Quando suprimir avisos

Não suprimir um aviso da regra de violações sobre ApplicationException.É seguro eliminar um aviso esta regra de violações sobre XmlDocument.É seguro suprimir um aviso sobre uma coleção não genérico, se o código foi lançado anteriormente.