<Elemento TypeParameter (.NET Native)>
Aplica a política ao tipo representado por um argumento Type passado para um método.
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" />
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Tipo de atributo | Descrição |
---|---|---|
Name |
Geral | Atributo obrigatório. O nome do parâmetro do tipo Type. Por exemplo, para a assinatura do método Type.GetInterfaceMap(Type interfaceType) , o valor do atributo Name é "interfaceType". |
Activate |
Reflexão | Atributo opcional . Controla o acesso de runtime a construtores para habilitar a ativação de instâncias. |
Browse |
Reflexão | Atributo opcional . Controla a consulta para obter informações sobre elementos do programa, mas não permite qualquer acesso de runtime. |
Dynamic |
Reflexão | Atributo opcional . Controla o acesso a todos os tipos de membro ao runtime, incluindo construtores, métodos, campos, propriedades e eventos, habilitando a programação dinâmica. |
Serialize |
Serialização | Atributo opcional . Controla o acesso ao runtime para construtores, campos e propriedades para habilitar a serialização e desserialização das instâncias por bibliotecas como o serializador Newtonsoft JSON. |
DataContractSerializer |
Serialização | Atributo opcional . Controla a política de serialização que usa a classe System.Runtime.Serialization.DataContractSerializer. |
DataContractJsonSerializer |
Serialização | Atributo opcional . Controla a política de serialização JSON que usa a classe System.Runtime.Serialization.Json.DataContractJsonSerializer. |
XmlSerializer |
Serialização | Atributo opcional . Controla a política de serialização XML que usa a classe System.Xml.Serialization.XmlSerializer. |
MarshalObject |
Interoperabilidade | Atributo opcional . Política de controles de marshaling de tipos de referência para o Windows Runtime e COM. |
MarshalDelegate |
Interoperabilidade | Atributo opcional . Controla a diretiva de marshaling de tipos delegados como ponteiros de função para código nativo. |
MarshalStructure |
Interoperabilidade | Atributo opcional . Controla a política de marshaling de tipos de valor para código nativo. |
Atributo de nome
Valor | Descrição |
---|---|
parameter_name | O nome do parâmetro do tipo Type. Por exemplo, para a assinatura do método Type.GetInterfaceMap(Type interfaceType) , o valor do atributo Name é "interfaceType". |
Todos os outros atributos
Valor | Descrição |
---|---|
policy_setting | A configuração a ser aplicada a este tipo de política. Os valores possíveis são All , Public , PublicAndInternal , Required Public , Required PublicAndInternal e Required All . Para obter mais informações, consulte Configurações da política da diretiva de runtime. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<Método> | Aplica a política de reflexão de runtime a um construtor ou método. |
Comentários
O <TypeParameter>
elemento é semelhante ao <elemento Parameter> , exceto que ele pode ser aplicado somente a parâmetros do tipo Type. Ele aplica a política a qualquer tipo que é representado no tempo de execução pelo argumento do tipo especificado pelo atributo Name
.
Por exemplo, o serializador NewtonSoft JSON inclui um método JsonConvert.DeserializeObject(String value, Type type)
estático. As seguintes diretivas de reflexão:
<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>
especificam que os metadados para o tipo de runtime representado pelo argumento type
deve ser disponibilizado para serialização. Se essas diretivas de runtime para um projeto que inclui o seguinte código-fonte:
Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);
as diretivas de reflexão disponibilizam os metadados para o tipo StockQuote
disponível para o serializador NewtonSoft JSON no tempo de execução.