Freigeben über


<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.

Weitere Informationen