Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wendet eine Richtlinie auf den Typ an, der durch ein an eine Methode übergebenes Typargument dargestellt wird.
Syntax
<Parameter Name="parameter_name"
Activate="policy_type"
Browse="policy_type"
Dynamic="policy_type"
Serialize="policy_type"
DataContractSerializer="policy_type"
DataContractJsonSerializer="policy_type"
XmlSerializer="policy_type"
MarshalObject="policy_type"
MarshalDelegate="policy_type"
MarshalStructure="policy_type" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
| Attribut | Attributtyp | Beschreibung |
|---|---|---|
Name |
Allgemein | Erforderliches Attribut. Der Name des Parameters vom Typ Type. Z. B. lautet für die Methodensignatur Type.GetInterfaceMap(Type interfaceType) der Wert des Name-Attributs "InterfaceType". |
Activate |
Reflexion | Optionales Attribut. Steuert den Laufzeitzugriff auf Konstruktoren, um die Aktivierung von Instanzen zu ermöglichen. |
Browse |
Reflexion | Optionales Attribut. Steuert das Abfragen von Informationen über Programmelemente, ermöglicht jedoch keinen Laufzeitzugriff. |
Dynamic |
Reflexion | Optionales Attribut. Steuert den Laufzeitzugriff auf alle Typmember, einschließlich Konstruktoren, Methoden, Felder, Eigenschaften und Ereignisse, um die dynamische Programmierung zu ermöglichen. |
Serialize |
Serialisierung | Optionales Attribut. Steuert den Laufzeitzugriff auf Konstruktoren, Felder und Eigenschaften, um Serialisierung und Deserialisierung von Typinstanzen durch Bibliotheken wie das Newtonsoft JSON-Serialisierungsprogramm zu ermöglichen. |
DataContractSerializer |
Serialisierung | Optionales Attribut. Steuert die Richtlinie für die Serialisierung, die die System.Runtime.Serialization.DataContractSerializer-Klasse verwendet. |
DataContractJsonSerializer |
Serialisierung | Optionales Attribut. Steuert die Richtlinie für die JSON-Serialisierung, die die System.Runtime.Serialization.Json.DataContractJsonSerializer-Klasse verwendet. |
XmlSerializer |
Serialisierung | Optionales Attribut. Steuert die Richtlinie für die XML-Serialisierung, die die System.Xml.Serialization.XmlSerializer-Klasse verwendet. |
MarshalObject |
Interop | Optionales Attribut. Steuert die Richtlinie für das Marshalling von Verweistypen zu Windows-Runtime und COM. |
MarshalDelegate |
Interop | Optionales Attribut. Steuert die Richtlinie für das Marshalling von Delegattypen als Funktionszeiger zu systemeigenem Code. |
MarshalStructure |
Interop | Optionales Attribut. Steuert die Richtlinie für das Marshalling von Werttypen zu systemeigenem Code. |
Namensattribut
| Wert | Beschreibung |
|---|---|
| parameter_name | Der Name des Parameters vom Typ Type. Z. B. lautet für die Methodensignatur Type.GetInterfaceMap(Type interfaceType) der Wert des Name-Attributs "InterfaceType". |
Alle anderen Attribute
| Wert | Beschreibung |
|---|---|
| policy_setting | Die Einstellung, die auf diesen Richtlinientyp angewendet werden soll. Mögliche Werte sind All, Public, PublicAndInternal, Required Public, Required PublicAndInternal und Required All. Weitere Informationen finden Sie unter Richtlinieneinstellungen für die Laufzeitanweisungen. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
| Element | Beschreibung |
|---|---|
| <Methode> | Wendet die Laufzeitreflektionsrichtlinie auf einen Konstruktor oder eine Methode an. |
Hinweise
Das <TypeParameter> Element ähnelt dem <Parameter-Element> , mit der Ausnahme, dass es nur auf Parameter vom Typ Typeangewendet werden kann. Es wendet die Richtlinie auf den Typ an, der zur Laufzeit durch das vom Name-Attribut angegebenen Typargument dargestellt wird.
Das NewtonSoft JSON-Serialisierungsprogramm enthält z. B. eine statische JsonConvert.DeserializeObject(String value, Type type)-Methode. Die folgenden Reflektionsanweisungen:
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Type Name="Newtonsoft.Json.JsonConvert" >
<Method Name="DeserializeObject">
<GenericParameter Name="type" Serialize="Required All" />
</Method>
</Type>
</Directives>
geben an, dass Metadaten für den Laufzeittyp, der durch das type-Argument dargestellt wird, für die Serialisierung verfügbar gemacht werden sollen. Wenn diese Laufzeitdirektiven für ein Projekt, das den folgenden Quellcode enthält, gelten:
Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);
machen die Reflektionsdirektiven die Metadaten für den StockQuote-Typ zur Laufzeit für das NewtonSoft JSON-Serialisierungsprogramm verfügbar.