Partilhar via


<Elemento GenericParameter> (.NET Native)

Aplica a política ao tipo de parâmetro de um tipo ou método genérico.

Syntax

<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 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 genérico. Por exemplo, para o delegado genérico Func<T1,T2,TResult>, o valor do atributo Name é "TResult" para aplicar a política de runtime ao valor de retorno do delegado.
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
generic_parameter_name Atributo obrigatório. O nome do parâmetro de tipo genérico. Por exemplo, para o delegado genérico Func<T1,T2,TResult>, um valor igual a “TResult” para generic_parameter_name aplica a política de runtime ao valor retornado do representante.

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.
<Tipo> Aplica a política de tempo reflexão de runtime a um tipo específico, como uma classe ou estrutura.

Comentários

O <GenericParameter> elemento é um filho do <elemento Method> ou <Type> e é usado para aplicar a política a um parâmetro de tipo genérico específico, que é especificado por seu nome no tipo genérico ou assinatura de método.

O elemento <GenericParameter> é mais útil quando usado com serializadores. O exemplo a seguir usa o <GenericParameter> elemento para aplicar a política ao tipo T em chamadas para sobrecargas de método JsonConvert.DeserializeObject<T>(String) do serializador NewtonSoft JSON.

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

Confira também