TypeMapAssociationAttribute<TTypeMapGroup> Класс

Определение

Представляет атрибут, который создает связь типа между типом и его прокси-сервером.

generic <typename TTypeMapGroup>
public ref class TypeMapAssociationAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class TypeMapAssociationAttribute<TTypeMapGroup> : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)>]
type TypeMapAssociationAttribute<'ypeMapGroup> = class
    inherit Attribute
Public NotInheritable Class TypeMapAssociationAttribute(Of TTypeMapGroup)
Inherits Attribute

Параметры типа

TTypeMapGroup

Тип группы карт типов.

Наследование
TypeMapAssociationAttribute<TTypeMapGroup>
Атрибуты

Комментарии

Типы, используемые в неуправляемой операции взаимодействия, могут использовать TypeMapAssociationAttribute<TTypeMapGroup> для определения условной связи между исходным и прокси-типом. Если источник хранится, то это тип прокси-сервера. Если обрезка наблюдает явное выделение исходного типа, запись вставляется в карту.

При обрезке приложения запись в схеме типов прокси-сервера включается при ссылке на "тип источника" одним из следующих способов в доступном коде:

  • Аргумент ldtoken инструкции IL при DynamicallyAccessedMembersAttribute указании флага, сохраняющего конструкторы для расположения хранилища.
  • Type.GetType Вызовы с константной строкой, представляющей имя типа при DynamicallyAccessedMembersAttribute указании флага, сохраняющего конструкторы.
  • Тип аргумента метода инструкции newobj .
  • Универсальный CreateInstance<T>() аргумент метода.
  • Аргумент инструкции box .
  • Аргумент инструкции newarr .
  • Аргумент инструкции mkrefany .
  • Аргумент инструкции refanyval .

Если тип является типом интерфейса, и пользователь может увидеть RuntimeTypeHandle тип для типа как часть операции приведения или разрешения виртуальных методов (например, с IDynamicInterfaceCastable), то следующие случаи также применяются:

  • Аргумент инструкции isinst IL.
  • Аргумент инструкции castclass IL.
  • Тип владения аргумента метода или callvirtldvirtftn.

Наконец, если средство обрезки определяет, что невозможно получить Type экземпляр, представляющий "исходный тип" во время выполнения, запись может быть опущена из карты типа прокси-сервера, так как ее существование является неизменяемым.

Important

Конфликтующие сопоставления ключей и значений не допускаются.

Note

Базовый формат созданных карт определяется реализацией. Различные .NET форм-факторы могут использовать разные форматы. Кроме того, не гарантируется, что TypeMapAttribute<TTypeMapGroup>TypeMapAssociationAttribute<TTypeMapGroup>атрибуты и TypeMapAssemblyTargetAttribute<TTypeMapGroup> атрибуты присутствуют в окончательном изображении после запуска средства обрезки.

Конструкторы

Имя Описание
TypeMapAssociationAttribute<TTypeMapGroup>(Type, Type)

Инициализирует новый экземпляр .TypeMapAssociationAttribute<TTypeMapGroup>

Свойства

Имя Описание
TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к