Applies policy to the parameter type of a generic type or method.
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" />
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Attributes Attribute Attribute type DescriptionName
General Required attribute. The name of the generic parameter. For example, for the generic delegate Func<T1,T2,TResult>, the value of the Name
attribute is "TResult" to apply runtime policy to the delegate's return value. Activate
Reflection Optional attribute. Controls runtime access to constructors to enable activation of instances. Browse
Reflection Optional attribute. Controls querying for information about program elements, but does not enable any runtime access. Dynamic
Reflection Optional attribute. Controls runtime access to all type members, including constructors, methods, fields, properties, and events, to enable dynamic programming. Serialize
Serialization Optional attribute. Controls runtime access to constructors, fields, and properties, to enable type instances to be serialized and deserialized by libraries such as the Newtonsoft JSON serializer. DataContractSerializer
Serialization Optional attribute. Controls policy for serialization that uses the System.Runtime.Serialization.DataContractSerializer class. DataContractJsonSerializer
Serialization Optional attribute. Controls policy for JSON serialization that uses the System.Runtime.Serialization.Json.DataContractJsonSerializer class. XmlSerializer
Serialization Optional attribute. Controls policy for XML serialization that uses the System.Xml.Serialization.XmlSerializer class. MarshalObject
Interop Optional attribute. Controls policy for marshaling reference types to Windows Runtime and COM. MarshalDelegate
Interop Optional attribute. Controls policy for marshaling delegate types as function pointers to native code. MarshalStructure
Interop Optional attribute. Controls policy for marshaling value types to native code. Name attribute Value Description generic_parameter_name Required attribute. The name of the generic type parameter. For example, for the generic delegate Func<T1,T2,TResult>, a generic_parameter_name value of "TResult" applies runtime policy to the delegate's return value. All other attributes Value Description policy_setting The setting to apply to this policy type. Possible values are All
, Public
, PublicAndInternal
, Required Public
, Required PublicAndInternal
, and Required All
. For more information, see Runtime Directive Policy Settings. Child Elements
None.
Parent Elements Element Description <Method> Applies runtime reflection policy to a constructor or method. <Type> Applies runtime reflection policy to a particular type, such as a class or structure.The <GenericParameter>
element is a child of either the <Method> or <Type> element and is used to apply policy to a particular generic type parameter, which is specified by its name in the generic type or method signature.
The <GenericParameter>
element is most useful when used with serializers. The following example uses the <GenericParameter>
element to apply policy to the type T
in calls to the NewtonSoft JSON serializer's JsonConvert.DeserializeObject<T>(String) method overloads.
<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>
See also
Was this page helpful?
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4