Nomes de classes, interfaces e Structs,
Em geral, nomes de tipo devem ser frases substantivo, onde o substantivo é a entidade representada por tipo. Por exemplo, Button, Stack, e File ter nomes que identifiquem a entidade representada por tipo. escolher nomes que identifiquem a entidade do ponto de vista do desenvolvedor; nomes devem refletir os cenários de uso.
As diretrizes a seguir se aplicam a selecionar os nomes de tipo.
Nomes classes, interfaces e tipos de valor com substantivos, substantivo frases ou adjetivas ocasionalmente frases, usando Pascal casing.
Não forneça nomes de classe um prefixo (por exemplo, a letra C).
Interfaces, que devem começar com a letra I, são a exceção a essa regra.
Considere o final do nome de classes derivadas com o nome da classe base.
Por exemplo, os tipos de estrutura que herdam de Stream terminar em Streame tipos que herdam Exception terminar em Exception.
Prefixo dos nomes de interface com a letra I para indicar que o tipo é uma interface.
Faz para garantir que, ao definir um emparelhar de classe/interface em que a classe é uma implementação padrão da interface, os nomes diferem apenas pela letra que I prefixo no nome da interface.
Por exemplo, o estrutura fornece a IAsyncResult interface e o AsyncResult classe.
Nomes dos parâmetros de tipo genérico
Os genéricos são um novo recurso importante do .NET estrutura versão 2.0. A tampa diretrizes seguintes, selecionando os nomes corretos dos parâmetros de tipo genérico.
Nome os parâmetros de tipo genérico com nomes descritivos, a menos que um nome único letras seja completamente auto-explicação e um nome descritivo não adicionaria valor.
IDictionary<TKey, TValue> é um exemplo de uma interface que se segue essa diretriz.
Considere usar a letra T sistema autônomo o nome do parâmetro de tipo para tipos com um parâmetro de tipo de letra único.
Prefixo de nomes de parâmetro de tipo descritivo com a letra T.
Considere indicando restrições aplicadas em um parâmetro de tipo no nome do parâmetro.Por exemplo, um parâmetro restringido a ISession pode ser chamado TSession.
Nomes dos tipos comuns
As diretrizes a seguir fornecem das convenções de nomenclatura que ajudam os desenvolvedores a reconhecem o cenário de uso pretendido para determinadas classes. Quando a orientação refere-se a tipos que herdam a algum Outros tipo, isso se aplica a todos os herdeiros, não apenas os tipos que herdam diretamente. Por exemplo, a diretriz adicionar o sufixo"Exception para tipos que herdam Exception. "significa que qualquer tipo que possui Exception na sua herança hierarquia deve ter um nome que termina em Exception.
Cada uma dessas diretrizes também serve para reservar o sufixo especificado; a menos que seu tipo de atender aos critérios estabelecidos pela diretriz, não deverá usar o sufixo. Por exemplo, se o seu tipo não direta ou indiretamente herda de Exception, seu nome não deve terminar em Exception.
Adicione o sufixo de atributos a classes de atributo personalizado.
ObsoleteAttribute e AttributeUsageAttribute são nomes de tipo que siga essa diretriz.
Adicione o sufixo EventHandler a nomes de tipos que são usados em eventos (sistema autônomo tipos de retorno de um evento translation from VPE for Csharp).
AssemblyLoadEventHandler é um nome de delegado que segue essa diretriz.
Adicione o sufixo de retorno de chamada ao nome de um delegado que não é um manipulador de eventos.
Não adicione o sufixo delegar a um delegado.
Adicione o sufixo EventArgs a classes que estendem sistema.EventArgs.
Não derivam do sistema.Enum classe; use a palavra-chave suportada pelo seu linguagem em vez disso.Por exemplo, em translation from VPE for Csharp, use a palavra-chave enum.
Adicione o sufixo exceção a tipos que herdam de sistema.exceção.
Adicionar o sufixo do dicionário a tipos que implementam sistema.Collections.IDictionary ou sistema.Collections.Generic.IDictionary<TKey, TValue >.Observe que sistema.Collections.IDictionary é um tipo específico da coleção, mas essa diretriz tem precedência sobre as diretrizes de coleções mais geral abaixo.
Adicionar o sufixo de coleção a tipos que implementam sistema.Collections.IEnumerable, sistema.Collections.ICollection, sistema.Collections.IList, sistema.Collections.Generic.IEnumerable <T>, sistema.Collections.Generic.ICollection <T>ou sistema.Collections.Generic.IList <T>.
Adicione o sufixo de fluxo a tipos que herdam sistema.IO.Stream.
Adicione o sufixo de permissão a tipos que herdam sistema.segurança.CodeAccessPermission ou implementam sistema.segurança.IPermission.
Nomes das enumerações
Não use um prefixo de nomes de valor de enumeração.Por exemplo, não usar um prefixo, sistema autônomo AD para enumerações do ADO ou rtf para enumerações de rich Texto e assim por diante.
Isso também significa que você não deve incluir o nome de tipo de enumeração nos nomes de valor de enumeração. O exemplo de código a seguir demonstra a valores de uma enumeração de nomeação incorretamente.
Public Enum Teams
TeamsAlpha
TeamsBeta
TeamsDelta
End Enum
public enum Teams
{
TeamsAlpha,
TeamsBeta,
TeamsDelta
}
Não use Enum sistema autônomo um sufixo de tipos de enumeração.
Não adicione sinalizadores sistema autônomo sufixo nos nomes dos sinalizadores de enumerações.
Use um nome singular para uma enumeração, a menos que seus valores de campos de bit.
Use um nome no plural para enumerações com campos de bit sistema autônomo valores, também chamados de sinalizadores de enumerações.
Partes direitos autorais 2005 Microsoft Corporation. Todos os direitos reservados.
Partes direitos autorais Addison-Wesley Corporation. Todos os direitos reservados.
Para obter mais informações sobre diretrizes de design, consulte a "diretrizes de design do estrutura: Catálogo de convenções, idiomas e padrões para bibliotecas do .NET reutilizável"Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.
Consulte também
Outros recursos
Diretrizes de Design para desenvolvimento bibliotecas de classe