TypeLibTypeAttribute-Klasse
Veröffentlicht: Oktober 2016
Enthält die TYPEFLAGS die ursprünglich für diesen Typ aus der COM-Typbibliothek importiert wurden.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Vererbungshierarchie
System.Object
System.Attribute
System.Runtime.InteropServices.TypeLibTypeAttribute
Syntax
[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface,
Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class TypeLibTypeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class | AttributeTargets::Struct | AttributeTargets::Enum | AttributeTargets::Interface,
Inherited = false)]
[ComVisibleAttribute(true)]
public ref class TypeLibTypeAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface,
Inherited = false)>]
[<ComVisibleAttribute(true)>]
type TypeLibTypeAttribute =
class
inherit Attribute
end
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Enum Or AttributeTargets.Interface,
Inherited := False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class TypeLibTypeAttribute
Inherits Attribute
Konstruktoren
Name | Beschreibung | |
---|---|---|
TypeLibTypeAttribute(Int16) | Initialisiert eine neue Instanz der TypeLibTypeAttribute-Klasse mit dem angegebenen TypeLibTypeFlags-Wert. |
|
TypeLibTypeAttribute(TypeLibTypeFlags) | Initialisiert eine neue Instanz der TypeLibTypeAttribute-Klasse mit dem angegebenen System.Runtime.InteropServices.TypeLibTypeFlags-Wert. |
Eigenschaften
Name | Beschreibung | |
---|---|---|
TypeId | Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.) |
|
Value | Ruft die System.Runtime.InteropServices.TypeLibTypeFlags Wert für diesen Typ. |
Methoden
Name | Beschreibung | |
---|---|---|
Equals(Object) | Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.) |
|
GetHashCode() | Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.) |
|
GetType() | Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.) |
|
IsDefaultAttribute() | Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.) |
|
Match(Object) | Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.) |
|
ToString() | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.) |
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.) |
|
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.) |
|
_Attribute.GetTypeInfoCount(UInt32) | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.) |
|
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.) |
Hinweise
Die Tlbimp.exe (Type Library Importer) dieses Attribut auf Klassen oder Schnittstellen angewendet.
Dieses Attribut wird angewendet, wenn eine Typbibliothek importiert und nicht geändert werden darf. Es wird nur angewendet, wenn der Methode TYPEFLAGS zu NULL ausgewertet. Das Attribut soll von Tools verwendet werden, die wissen müssen, wie die ursprüngliche TYPEFLAGS festgelegt wurden. Die common Language Runtime verwendet dieses Attribut nicht.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die TypeLibTypeAttribute Wert einer Klasse oder Schnittstelle.
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
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
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;
}
};
Versionsinformationen
.NET Framework
Verfügbar seit 1.1
Threadsicherheit
Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.
Siehe auch
System.Runtime.InteropServices-Namespace
Tlbimp.exe (Type Library Importer)
Zurück zum Anfang