<Элемент GenericParameter> (.NET Native)
Применяет политику к параметру типа универсального типа или метода.
Синтаксис
<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" />
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Тип атрибута | Description |
---|---|---|
Name |
Общие | Обязательный атрибут элемента . Имя универсального параметра. Например, для универсального делегата Func<T1,T2,TResult>, значение атрибута Name равно «TResult» для применения политики среды выполнения к возвращаемому значению делегата. |
Activate |
Отражение | Необязательный атрибут элемента . Управляет доступом среды выполнения к конструкторам для включения активации экземпляров. |
Browse |
Отражение | Необязательный атрибут элемента . Управляет запросами для получения сведений об элементах программы, но не включает доступ среды выполнения. |
Dynamic |
Отражение | Необязательный атрибут элемента . Управляет доступом среды выполнения ко всем членам типа, включая конструкторы, методы, поля, свойства и события, чтобы включить динамическое программирование. |
Serialize |
Сериализация | Необязательный атрибут элемента . Управляет доступом среды выполнения к конструкторам, полям и свойствам, позволяющим сериализовать и десериализовать экземпляры типа с помощью таких библиотек, как, например, сериализатор Newtonsoft JSON. |
DataContractSerializer |
Сериализация | Необязательный атрибут элемента . Определяет политику для сериализации, в которой используется класс System.Runtime.Serialization.DataContractSerializer. |
DataContractJsonSerializer |
Сериализация | Необязательный атрибут элемента . Определяет политику для сериализации JSON, в которой используется класс System.Runtime.Serialization.Json.DataContractJsonSerializer. |
XmlSerializer |
Сериализация | Необязательный атрибут элемента . Определяет политику для сериализации XML, в которой используется класс System.Xml.Serialization.XmlSerializer. |
MarshalObject |
Interop | Необязательный атрибут элемента . Определяет политику для маршалинга ссылочных типов в среды выполнения Windows и COM. |
MarshalDelegate |
Interop | Необязательный атрибут элемента . Определяет политики для маршалинга типов делегатов как указателей функции на машинный код. |
MarshalStructure |
Interop | Необязательный атрибут элемента . Определяет политики для маршалинга типов значений в машинный код. |
Name - атрибут
значение | Описание |
---|---|
generic_parameter_name | Обязательный атрибут элемента . Имя универсального параметра типа. Например, для универсального делегата Func<T1,T2,TResult> значение generic_parameter_name, равное "TResult", применяет политику среды выполнения к возвращаемому значению делегата. |
Все остальные атрибуты
значение | Описание |
---|---|
policy_setting | Параметр, применяемый для этого типа политики. Допустимые значения: All , Public , PublicAndInternal , Required Public , Required PublicAndInternal и Required All . Дополнительные сведения см. в разделе Параметры политики директив среды выполнения. |
Дочерние элементы
Нет.
Родительские элементы
Элемент | Description |
---|---|
<Method> | Применяет политику отражения среды выполнения к конструктору или методу. |
<Тип> | Применяет политику отражения среды выполнения для конкретного типа, например, класса или структуры. |
Замечания
Элемент <GenericParameter>
является дочерним элементом< элемента Method> или <Type> и используется для применения политики к определенному параметру универсального типа, который указывается его именем в сигнатуре универсального типа или метода.
Элемент <GenericParameter>
особенно полезен при использовании сериализаторов. В следующем примере элемент используется <GenericParameter>
для применения политики к типу T
вызовов перегрузок метода JsonConvert.DeserializeObject<T>(String) сериализатора 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>