parcial (C++/CLI e C++/CX)

A palavra-chave partial permite que partes diferentes da mesma classe ref sejam criadas de forma independente e em arquivos diferentes.

Todos os Runtimes

(Esse recurso de linguagem se aplica somente ao Windows Runtime).

Windows Runtime

Para uma classe ref que tem duas definições parciais, a palavra-chave partial é aplicada à primeira ocorrência da definição, e isso normalmente é feito pelo código gerado automaticamente, para que um codificador humano não use a palavra-chave com muita frequência. Para todas as definições parciais subsequentes da classe, omita o modificador parcial da palavra-chave class-key e do identificador de classe. Quando o compilador encontrar uma classe ref e o identificador de classe definidos anteriormente, mas não a palavra-chave partial, ele combinará internamente todas as partes da definição da classe ref em uma definição.

Sintaxe

partial class-key identifier {
   /* The first part of the partial class definition.
      This is typically auto-generated */
}
// ...
class-key identifier {
   /* The subsequent part(s) of the class definition. The same
      identifier is specified, but the "partial" keyword is omitted. */
}

Parâmetros

class-key
Uma palavra-chave que declara uma classe ou struct compatível com o Windows Runtime. classe ref, classe value, struct ref ou struct value.

identificador
O nome do tipo definido.

Comentários

Uma classe parcial é compatível com cenários nos quais você modifica uma parte da definição de uma classe em um arquivo, e o software de geração de código automático, por exemplo, modifica o código na mesma classe em outro arquivo. Usando uma classe parcial, você pode impedir que o gerador de código automático substitua seu código. Em um projeto do Visual Studio, o modificador partial é aplicado automaticamente ao arquivo gerado.

Conteúdo: com duas exceções, uma definição de classe parcial poderá conter tudo que a definição de classe completa pode conter se a palavra-chave partial tiver sido omitida. No entanto, você não pode especificar a acessibilidade de classe (por exemplo, public partial class X { ... };) ou um declspec.

Os especificadores de acesso usados em uma definição de classe parcial para identificador não afetam a acessibilidade padrão em uma definição de classe parcial ou completa para identificador. As definições embutidas de membros de dados estáticos são permitidas.

Declaração: uma definição parcial de um identificador de classe apresenta somente o identificador de nome, mas o identificador não pode ser usado de uma forma que exija uma definição de classe. O identificador do nome não pode ser usado para saber o tamanho do identificador, ou para usar uma base ou membro do identificador até que o compilador encontre a definição completa do identificador.

Número e ordenamento: O identificador pode ter zero ou mais definições de classe parcial. Cada definição de classe parcial do identificador deve preceder lexicalmente a única definição completa do identificador (se houver uma definição completa; caso contrário, a classe não poderá ser usada, exceto se houver declaração de encaminhamento), mas não precisa preceder declarações de encaminhamento do identificador. Todas as class-keys devem corresponder.

Definição completa: no ponto da definição completa do identificador de classe, o comportamento será o mesmo de como se a definição de identificador tivesse declarado todas as classes base, membros etc. na ordem em que foram encontrados e definidos nas classes parciais.

Modelos: uma classe parcial não pode ser um modelo.

Genéricos: uma classe parcial pode ser genérica se a definição completa puder ser genérica. Mas toda classe parcial e completa deve ter exatamente os mesmos parâmetros genéricos, incluindo nomes de parâmetro formais.

Saiba mais sobre como usar a palavra-chave partial em Classes parciais (C++/CX).

Requisitos

Opção do compilador: /ZW

Common Language Runtime

(Esse recurso de linguagem não se aplica ao Common Language Runtime.)

Confira também

Classes parciais (C++/CX)