Compartir a través de


<Elemento TypeParameter> (.NET Native)

Aplica la directiva al tipo representado por un argumento de tipo pasado a un método.

Sintaxis

<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" />

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Tipo de atributo Descripción
Name General Atributo necesario. Nombre del parámetro de tipo Type. Por ejemplo, en la firma de método Type.GetInterfaceMap(Type interfaceType), el valor del atributo Name es "interfaceType".
Activate Reflexión Atributo opcional. Controla el acceso en tiempo de ejecución a los constructores para permitir la activación de instancias.
Browse Reflexión Atributo opcional. Controla la consulta para obtener información sobre los elementos de programa, pero no permite el acceso en tiempo de ejecución.
Dynamic Reflexión Atributo opcional. Controla el acceso en tiempo de ejecución a todos los miembros de tipo (incluidos constructores, métodos, campos, propiedades y eventos) para permitir la programación dinámica.
Serialize Serialización Atributo opcional. Controla el acceso en tiempo de ejecución a constructores, campos y propiedades para permitir que bibliotecas como el serializador JSON Newtonsoft puedan serializar y deserializar instancias de tipo.
DataContractSerializer Serialización Atributo opcional. Controla la directiva de serialización que usa la clase System.Runtime.Serialization.DataContractSerializer.
DataContractJsonSerializer Serialización Atributo opcional. Controla la directiva de serialización JSON que usa la clase System.Runtime.Serialization.Json.DataContractJsonSerializer.
XmlSerializer Serialización Atributo opcional. Controla la directiva de serialización XML que usa la clase System.Xml.Serialization.XmlSerializer.
MarshalObject Interop Atributo opcional. Controla la directiva de serialización de tipos de referencia a Windows Runtime y COM.
MarshalDelegate Interop Atributo opcional. Controla la directiva de serialización de tipos de delegado como punteros de función a código nativo.
MarshalStructure Interop Atributo opcional. Controla la directiva de cálculo de referencias de tipos de valor a código nativo.

Name (atributo)

Valor Descripción
parameter_name Nombre del parámetro de tipo Type. Por ejemplo, en la firma de método Type.GetInterfaceMap(Type interfaceType), el valor del atributo Name es "interfaceType".

Resto de atributos

Valor Descripción
policy_setting Configuración que se va a aplicar a este tipo de directiva. Los valores posibles son All, Public, PublicAndInternal, Required Public, Required PublicAndInternal y Required All. Para obtener más información, vea Runtime Directive Policy Settings (Configuración de directiva de la directiva en tiempo de ejecución).

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
<Método> Aplica la directiva de reflexión en tiempo de ejecución a un constructor o método.

Comentarios

El <TypeParameter> elemento es similar al <elemento Parameter> , excepto que solo se puede aplicar a parámetros de tipo Type. Aplica la directiva a cualquier tipo que se represente en tiempo de ejecución mediante el argumento de tipo especificado por el atributo Name.

Por ejemplo, el serializador JSON NewtonSoft incluye un método JsonConvert.DeserializeObject(String value, Type type) estático. Las siguientes directivas de reflexión:

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

especifican que debe haber disponibles metadatos para el tipo en tiempo de ejecución representado por el argumento type para poder realizar la serialización. Si estas directivas en tiempo de ejecución se aplican a un proyecto que incluye el siguiente código fuente:

Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);

las directivas de reflexión hacen que haya metadatos disponibles para el tipo StockQuote para el serializador JSON NewtonSoft en tiempo de ejecución.

Vea también