ComDefaultInterfaceAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет интерфейс по умолчанию, предоставляемый COM. Этот класс не наследуется.
public ref class ComDefaultInterfaceAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)]
public sealed class ComDefaultInterfaceAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComDefaultInterfaceAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)>]
type ComDefaultInterfaceAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComDefaultInterfaceAttribute = class
inherit Attribute
Public NotInheritable Class ComDefaultInterfaceAttribute
Inherits Attribute
- Наследование
- Атрибуты
Комментарии
Компиляторы не обязательно учитывают порядок реализации интерфейсов. Предположим, что у вас есть следующий код:
interface IBase {}
interface IDerived : IBase {}
class MyClass : IBase, IDerived {}
Компилятор выдает реализованные интерфейсы в виде IDerived, IBase
. Порядок интерфейсов важен при использовании ClassInterfaceAttribute класса с [ClassInterface(ClassInterfaceType.None)]
для предоставления явного интерфейса в качестве интерфейса по умолчанию. Независимо от указанного ClassInterfaceType
, используйте ComDefaultInterfaceAttribute атрибут , чтобы указать, какой интерфейс следует распознать как интерфейс по умолчанию.
Обратите внимание, что тип, декорированный объектом , ComDefaultInterfaceAttribute должен фактически наследоваться от интерфейса, указанного в качестве интерфейса по умолчанию.
Конструкторы
ComDefaultInterfaceAttribute(Type) |
Инициализирует новый экземпляр класса ComDefaultInterfaceAttribute, используя указанный объект Type в качестве интерфейса по умолчанию, предоставленного COM. |
Свойства
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Value |
Получает объект Type, определяющий интерфейс по умолчанию, предоставляемый для COM. |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute) |