<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 é 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 na assinatura do tipo genérico ou do método.
O elemento <GenericParameter>
é mais útil quando usado com serializadores. O exemplo a seguir usa o elemento para aplicar a <GenericParameter>
política ao tipo T
em chamadas para as sobrecargas do método JsonConvert.DeserializeObject<T>(String) do serializador JSON 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>