<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
Attribute | 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.
Consulte también
- <Elemento Method>
- Referencia del archivo de configuración de directivas en tiempo de ejecución (rd.xml)
- Runtime Directive Policy Settings (Configuración de directiva de la directiva en tiempo de ejecución)
- Elementos de directivas en tiempo de ejecución