Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wijzigt het compilatiegedrag van XAML wanneer x:Class ook wordt geleverd. In plaats van een gedeeltelijke class te maken met een Public toegangsniveau (de standaardinstelling), wordt de opgegeven x:Class gemaakt met een NotPublic toegangsniveau. Dit gedrag is van invloed op het toegangsniveau voor de klasse in de gegenereerde assembly's.
XAML-kenmerkgebruik
<object x:Class="namespace.classname" x:ClassModifier="NotPublic">
...
</object>
XAML-waarden
| Waarde | Beschrijving |
|---|---|
| NotPublic | De exacte tekenreeks die moet worden doorgegeven om TypeAttributes.Public op te geven versus TypeAttributes.NotPublic varieert, afhankelijk van de programmeertaal achter de code die u gebruikt. Zie opmerkingen. |
Afhankelijkheden
x:Class moet ook worden opgegeven op hetzelfde element en dat element moet het hoofdelement op een pagina zijn. Zie [MS-XAML] Sectie 6.3.1.8voor meer informatie.
Opmerkingen
De waarde van x:ClassModifier in .NET XAML Services-gebruik verschilt per programmeertaal. De tekenreeks die moet worden gebruikt, is afhankelijk van de manier waarop elke taal de CodeDomProvider implementeert en de typeconversieprogramma's die worden geretourneerd om de betekenissen voor TypeAttributes.Public en TypeAttributes.NotPublicte definiëren en of die taal hoofdlettergevoelig is.
Voor C# wordt de tekenreeks die moet worden doorgegeven om aan te wijzen TypeAttributes.NotPublic
internal.Voor Microsoft Visual Basic .NET wordt de tekenreeks die moet worden doorgegeven om aan te geven TypeAttributes.NotPublic
Friend.Voor C++/CLI bestaan er geen doelen die ondersteuning bieden voor het compileren van XAML; daarom is de waarde die moet worden doorgegeven niet opgegeven.
U kunt ook TypeAttributes.Public (public opgeven in C#, Public in Visual Basic); het opgeven van TypeAttributes.Public wordt echter niet vaak uitgevoerd omdat TypeAttributes.Public al het standaardgedrag is.
Andere waarden met gelijkwaardige beperkingen op gebruikerscodetoegangsniveau, zoals private in C#, zijn niet relevant voor x:ClassModifier omdat geneste klasseverwijzingen niet worden ondersteund in XAML en daarom heeft de TypeAttributes.NotPublic wijziging hetzelfde effect.
Beveiligingsnotities
Het toegangsniveau zoals gedeclareerd in x:ClassModifier is nog steeds onderhevig aan interpretatie door bepaalde frameworks en hun mogelijkheden. WPF bevat mogelijkheden voor het laden en instantiëren van typen waarbij x:ClassModifier is internal, als naar die klasse wordt verwezen vanuit een WPF-resource via een pakket-URI-verwijzing. Als gevolg van deze zaak en mogelijk anderen, zoals deze worden geïmplementeerd door andere frameworks, vertrouwt u niet uitsluitend op x:ClassModifier om alle mogelijke instantiatiepogingen te blokkeren.
Zie ook
.NET Desktop feedback