<TypeParameter-Element (.NET Native)>
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.