Compartir a través de


<Elemento GenericParameter> (.NET Native)

Aplica la directiva al tipo de parámetro de un método o tipo genérico.

Sintaxis

<GenericParameter Name="generic_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

Attribute Tipo de atributo Descripción
Name General Atributo necesario. Nombre del parámetro genérico. Por ejemplo, en el delegado genérico Func<T1,T2,TResult>, el valor del atributo Name es "TResult" para aplicar la directiva en tiempo de ejecución al valor devuelto del delegado.
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
generic_parameter_name Atributo necesario. Nombre del parámetro de tipo genérico. Por ejemplo, en el delegado genérico Func<T1,T2,TResult>, un valor generic_parameter_name de "TResult" aplica la directiva en tiempo de ejecución al valor devuelto del delegado.

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.
<Tipo> Aplica la directiva de reflexión en tiempo de ejecución a un tipo determinado, como una clase o una estructura.

Comentarios

El <GenericParameter> elemento es un elemento secundario del <elemento Method> o <Type> y se usa para aplicar la directiva a un parámetro de tipo genérico determinado, que se especifica por su nombre en el tipo genérico o la firma del método.

El elemento <GenericParameter> es de mayor utilidad cuando se usa con serializadores. En el ejemplo siguiente se usa el elemento para aplicar la <GenericParameter> directiva al tipo T de llamadas al método json JsonConvert.DeserializeObject <T>(String) de NewtonSoft.

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
   <Type Name="Newtonsoft.Json.JsonConvert" >
      <Method Name="DeserializeObject{T}">
         <GenericParameter Name="T" Serialize="Required All" />
      </Method>
   </Type>
</Directives>

Consulte también