Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяет политику к типу, представленному аргументом типа , переданным методу.
Синтаксис
<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" />
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
| Атрибут | Тип атрибута | Description |
|---|---|---|
Name |
Общие | Обязательный атрибут элемента . Имя типа параметра типа Type. Например, для сигнатуры метода Type.GetInterfaceMap(Type interfaceType), значение атрибута Name — "interfaceType". |
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 - атрибут
| значение | Описание |
|---|---|
| parameter_name | Имя типа параметра типа Type. Например, для сигнатуры метода Type.GetInterfaceMap(Type interfaceType), значение атрибута Name — "interfaceType". |
Все остальные атрибуты
| значение | Описание |
|---|---|
| policy_setting | Параметр, применяемый для этого типа политики. Допустимые значения: All, Public, PublicAndInternal, Required Public, Required PublicAndInternal и Required All. Дополнительные сведения см. в разделе Параметры политики директив среды выполнения. |
Дочерние элементы
Нет.
Родительские элементы
| Элемент | Description |
|---|---|
| <Method> | Применяет политику отражения среды выполнения к конструктору или методу. |
Замечания
Элемент <TypeParameter> аналогичен элементу< Parameter>, за исключением того, что он может применяться только к параметрам типаType. Применяет политику, независимо от представленного типа во время выполнения по аргументу типа, указанному атрибутом Name.
Например, сериализатор NewtonSoft JSON включает статический метод JsonConvert.DeserializeObject(String value, Type type). Следующие директивы отражения:
<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>
определяют, что метаданные для типа среды выполнения, представленные аргументом type, должны быть доступны для сериализации. Если применить эти директивы среды выполнения к проекту, который включает следующий исходный код:
Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);
директивы отражения делают метаданные для типа StockQuote доступными для сериализатора NewtonSoft JSON во время выполнения.