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.