Compartilhar via


Não nomear valores de enum 'Reservado'

TypeName

DoNotNameEnumValuesReserved

CheckId

CA1700

Category (Categoria)

Microsoft.Naming

Quebrando alterar

Quebrando

Causa

O nome de um membro de enumeração contém a palavra "reservada".

Descrição da regra

Esta regra pressupõe que um membro de enumeração com um nome que contenha "reservada" não é usado no momento mas é um espaço reservado a ser renomeado ou removido em uma versão futura.Renomear ou remover um membro é uma alterar de quebra.Você não deve esperar que os usuários para ignorar um membro apenas porque seu nome contém "reservados" nem você pode depender os usuários leiam ou obedecer aos documentação.Além disso, sistema autônomo membros reservados aparecerá em navegadores de objeto e ambientes de desenvolvimento integrados inteligentes, podem causar confusão ao qual sistema autônomo membros estiverem sendo realmente utilizados.

Em vez de usar o membro reservado, adicionar um novo membro à enumeração na versão futura.Na maioria dos casos, a adição do novo membro não é uma alteração significativa, desde que a adição não faz com que sistema autônomo valores dos membros originais para alterar.

Há um número limitado de casos em que a adição de um membro é uma alterar significativa, mesmo quando os membros originais retêm seus valores originais.Basicamente, o novo membro não pode ser retornado de caminhos de código existente sem quebrar os chamadores que usam um switch (Select no Visual Basic) demonstrativo no valor retornado que abrange a lista de membros todo e que lançam uma exceção no caso padrão. É uma preocupação secundária que código de cliente pode não lidar com a alterar no comportamento dos métodos de reflexão tais Enum.IsDefined. Da mesma forma, se o novo membro precisa ser retornado de métodos existentes ou se não houver uma incompatibilidade de aplicativo conhecido por causa do uso de baixa reflexão, em seguida, a apenas não-separável solução é para adicionar uma nova enumeração contendo os originais e novos membros e para marcar a enumeração original com o System.ObsoleteAttribute atributo. Siga o mesmo procedimento para qualquer visíveis externamente tipos ou membros que expõem a enumeração original.

Como corrigir violações

Para corrigir uma violação dessa regra, remover ou renomear o membro.

Quando suprimir avisos

É seguro eliminar um aviso dessa regra se o membro for usado no momento ou para bibliotecas que tenham sido fornecidos anteriormente.

Regras relacionadas

Não marque enums com FlagsAttribute

Não prefixo valores de enum com nome de tipo

Armazenamento de enum deve ser Int32

Enums devem ter o valor zero

Marcar enums com FlagsAttribute