Compartilhar via


Diretiva de x: ClassModifier

Modifica o comportamento de compilação do XAML quando x:Class também é fornecida. Especificamente, em vez de criar um parcial class que tem um Public (padrão), do nível de acesso fornecida x:Class é criado com uma NotPublic nível de acesso. Este comportamento afeta o nível de acesso para a classe em que os assemblies gerados.

XAML Attribute Usage

<object x:Class="namespace.classname" x:ClassModifier="NotPublic">
   ...
</object>

XAML Values

NotPublic

A seqüência exata de passar para especificar TypeAttributes.Public versus TypeAttributes.NotPublic varia de acordo com a linguagem de programação de code-behind que você utiliza. Consulte comentários.

Dependencies

x:Class must also be provided on the same element, and that element must be the root element in a page. Para obter mais informações, consulte [MS-XAML] seção 4.3.1.8.

Comentários

O valor de x:ClassModifier no.O uso de serviços do NET Framework XAML varia por programming language. A seqüência de caracteres para usar depende de como cada idioma implementa sua CodeDomProvider e os conversores de tipo retornará para definir os significados para TypeAttributes.Public e TypeAttributes.NotPublic, e se o idioma é sensível a maiúsculas.

  • Para C#, a seqüência de caracteres para passar para designar TypeAttributes.NotPublic é internal.

  • Para Microsoft Visual Basic .NET, a seqüência de caracteres para passar para designar TypeAttributes.NotPublic é Friend.

  • Para C++/CLI, sem destinos existem que oferecem suporte à compilação XAML; portanto, passar o valor for especificado.

You can also specify TypeAttributes.Public (public in C#, Public in Visual Basic); Entretanto, a especificação TypeAttributes.Public raramente é feito porque TypeAttributes.Public é já o padrão do comportamento.

Outros valores de código de usuário equivalente-nível de acesso restrições, como private em C#, não relevantes para x:ClassModifier porque não há suporte para referências de classe aninhada em XAML e, portanto, o TypeAttributes.NotPublic modificador tem o mesmo efeito.

Notas de segurança

O nível de acesso, como declarado na x:ClassModifier ainda está sujeito à interpretação de determinadas estruturas e seus recursos. O WPF inclui recursos para carregar e instanciar tipos onde x:ClassModifier é internal, se essa classe é referenciada a partir de um recurso do WPF por meio de um pack URI de referência. Como conseqüência de caso e potencialmente outros como ele é implementado por outras estruturas, não confie exclusivamente em x:ClassModifier para bloquear todas as tentativas de instanciação de possível.

Consulte também

Referência

Diretiva X:Class

Diretiva de x: FieldModifier

Conceitos

Code-Behind e XAML no WPF

Segurança (WPF)

Outros recursos

Tipos migradas do WPF para System.Xaml