Поделиться через


TypeLibTypeAttribute Класс

Определение

Содержит флаги TYPEFLAGS, ранее импортированные для данного типа из библиотеки COM-типов.

public ref class TypeLibTypeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
public sealed class TypeLibTypeAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class TypeLibTypeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
type TypeLibTypeAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeLibTypeAttribute = class
    inherit Attribute
Public NotInheritable Class TypeLibTypeAttribute
Inherits Attribute
Наследование
TypeLibTypeAttribute
Атрибуты

Примеры

В следующем примере показано, как получить TypeLibTypeAttribute значение класса или интерфейса.

using namespace System;
using namespace System::Runtime::InteropServices;

ref class ClassB
{
private:
   static bool IsHiddenInterface( Type^ InterfaceType )
   {
      array<Object^>^InterfaceAttributes = InterfaceType->GetCustomAttributes( TypeLibTypeAttribute::typeid, false );
      if ( InterfaceAttributes->Length > 0 )
      {
         TypeLibTypeAttribute^ tlt = dynamic_cast<TypeLibTypeAttribute^>(InterfaceAttributes[ 0 ]);
         TypeLibTypeFlags flags = tlt->Value;
         return (flags & TypeLibTypeFlags::FHidden) != TypeLibTypeFlags(0);
      }

      return false;
   }
};
using System;
using System.Runtime.InteropServices;

namespace B
{
    class ClassB
    {
        public static bool IsHiddenInterface(Type InterfaceType)
        {
            object[] InterfaceAttributes = InterfaceType.GetCustomAttributes(typeof(TypeLibTypeAttribute), false);
            if (InterfaceAttributes.Length > 0)
            {
                TypeLibTypeAttribute tlt = (TypeLibTypeAttribute)InterfaceAttributes[0];
                TypeLibTypeFlags flags = tlt.Value;
                return (flags & TypeLibTypeFlags.FHidden) != 0;
            }
            return false;
        }
    }
}

Imports System.Runtime.InteropServices

Module B
    Public Function IsHiddenInterface(ByVal InterfaceType As Type) As Boolean
        Dim InterfaceAttributes As Object() = _
        InterfaceType.GetCustomAttributes(GetType(TypeLibTypeAttribute), False)

        If InterfaceAttributes.Length > 0 Then
            Dim tlt As TypeLibTypeAttribute = InterfaceAttributes(0)
            Dim flags As TypeLibTypeFlags = tlt.Value
            Return (flags & TypeLibTypeFlags.FHidden) > 0
        End If

        Return False
    End Function
End Module

Комментарии

Tlbimp.exe (средство импорта библиотек типов) применяет этот атрибут к классам или интерфейсам.

Этот атрибут применяется при импорте библиотеки типов и не должен изменяться. Он применяется только в том случае, если значение метода TYPEFLAGS не равно нулю. Атрибут предназначен для использования средствами, которые должны знать, как были заданы исходные TYPEFLAGS данные. Среда CLR не использует этот атрибут.

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

TypeLibTypeAttribute(Int16)

Инициализирует новый экземпляр класса TypeLibTypeAttribute заданным значением TypeLibTypeFlags.

TypeLibTypeAttribute(TypeLibTypeFlags)

Инициализирует новый экземпляр класса TypeLibTypeAttribute заданным значением TypeLibTypeFlags.

Свойства

TypeId

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

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

Возвращает значение TypeLibTypeFlags для этого типа.

Методы

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)

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

См. также раздел