FlagsAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, dass eine Enumeration als Bitfeld, d. h. als Gruppe von Flags, behandelt werden kann.
public ref class FlagsAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)]
public class FlagsAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)]
[System.Serializable]
public class FlagsAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class FlagsAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)>]
type FlagsAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)>]
[<System.Serializable>]
type FlagsAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Enum, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FlagsAttribute = class
inherit Attribute
Public Class FlagsAttribute
Inherits Attribute
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung des FlagsAttribute
Attributs und zeigt die Auswirkungen auf die ToString Methode der Verwendung FlagsAttribute
für eine Enum Deklaration.
using namespace System;
// Define an Enum without FlagsAttribute.
public enum class SingleHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
// Define an Enum with FlagsAttribute.
[Flags]
enum class MultiHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
int main()
{
// Display all possible combinations of values.
Console::WriteLine(
"All possible combinations of values without FlagsAttribute:");
for (int val = 0; val <= 16; val++)
Console::WriteLine("{0,3} - {1:G}", val, (SingleHue)val);
Console::WriteLine(
"\nAll possible combinations of values with FlagsAttribute:");
// Display all combinations of values, and invalid values.
for (int val = 0; val <= 16; val++ )
Console::WriteLine("{0,3} - {1:G}", val, (MultiHue)val);
}
// The example displays the following output:
// All possible combinations of values without FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - 3
// 4 - Green
// 5 - 5
// 6 - 6
// 7 - 7
// 8 - Blue
// 9 - 9
// 10 - 10
// 11 - 11
// 12 - 12
// 13 - 13
// 14 - 14
// 15 - 15
// 16 - 16
//
// All possible combinations of values with FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - Black, Red
// 4 - Green
// 5 - Black, Green
// 6 - Red, Green
// 7 - Black, Red, Green
// 8 - Blue
// 9 - Black, Blue
// 10 - Red, Blue
// 11 - Black, Red, Blue
// 12 - Green, Blue
// 13 - Black, Green, Blue
// 14 - Red, Green, Blue
// 15 - Black, Red, Green, Blue
// 16 - 16
using System;
class Example
{
// Define an Enum without FlagsAttribute.
enum SingleHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
// Define an Enum with FlagsAttribute.
[Flags]
enum MultiHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
static void Main( )
{
// Display all possible combinations of values.
Console.WriteLine(
"All possible combinations of values without FlagsAttribute:");
for(int val = 0; val <= 16; val++ )
Console.WriteLine( "{0,3} - {1:G}", val, (SingleHue)val);
// Display all combinations of values, and invalid values.
Console.WriteLine(
"\nAll possible combinations of values with FlagsAttribute:");
for( int val = 0; val <= 16; val++ )
Console.WriteLine( "{0,3} - {1:G}", val, (MultiHue)val);
}
}
// The example displays the following output:
// All possible combinations of values without FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - 3
// 4 - Green
// 5 - 5
// 6 - 6
// 7 - 7
// 8 - Blue
// 9 - 9
// 10 - 10
// 11 - 11
// 12 - 12
// 13 - 13
// 14 - 14
// 15 - 15
// 16 - 16
//
// All possible combinations of values with FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - Black, Red
// 4 - Green
// 5 - Black, Green
// 6 - Red, Green
// 7 - Black, Red, Green
// 8 - Blue
// 9 - Black, Blue
// 10 - Red, Blue
// 11 - Black, Red, Blue
// 12 - Green, Blue
// 13 - Black, Green, Blue
// 14 - Red, Green, Blue
// 15 - Black, Red, Green, Blue
// 16 - 16
open System
// Define an Enum without FlagsAttribute.
type SingleHue =
| None = 0
| Black = 1
| Red = 2
| Green = 4
| Blue = 8
// Define an Enum with FlagsAttribute.
[<Flags>]
type MultiHue =
| None = 0
| Black = 1
| Red = 2
| Green = 4
| Blue = 8
// Display all possible combinations of values.
printfn "All possible combinations of values without FlagsAttribute:"
for i = 0 to 16 do
printfn $"{i,3} - {enum<SingleHue> i:G}"
// Display all combinations of values, and invalid values.
printfn "\nAll possible combinations of values with FlagsAttribute:"
for i = 0 to 16 do
printfn $"{i,3} - {enum<MultiHue> i:G}"
// The example displays the following output:
// All possible combinations of values without FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - 3
// 4 - Green
// 5 - 5
// 6 - 6
// 7 - 7
// 8 - Blue
// 9 - 9
// 10 - 10
// 11 - 11
// 12 - 12
// 13 - 13
// 14 - 14
// 15 - 15
// 16 - 16
//
// All possible combinations of values with FlagsAttribute:
// 0 - None
// 1 - Black
// 2 - Red
// 3 - Black, Red
// 4 - Green
// 5 - Black, Green
// 6 - Red, Green
// 7 - Black, Red, Green
// 8 - Blue
// 9 - Black, Blue
// 10 - Red, Blue
// 11 - Black, Red, Blue
// 12 - Green, Blue
// 13 - Black, Green, Blue
// 14 - Red, Green, Blue
// 15 - Black, Red, Green, Blue
// 16 - 16
Module Example
' Define an Enum without FlagsAttribute.
Enum SingleHue As Short
None = 0
Black = 1
Red = 2
Green = 4
Blue = 8
End Enum
' Define an Enum with FlagsAttribute.
<Flags()>
Enum MultiHue As Short
None = 0
Black = 1
Red = 2
Green = 4
Blue = 8
End Enum
Sub Main()
' Display all possible combinations of values.
Console.WriteLine(
"All possible combinations of values without FlagsAttribute:")
For val As Integer = 0 To 16
Console.WriteLine("{0,3} - {1:G}", val, CType(val, SingleHue))
Next
Console.WriteLine()
' Display all combinations of values, and invalid values.
Console.WriteLine(
"All possible combinations of values with FlagsAttribute:")
For val As Integer = 0 To 16
Console.WriteLine( "{0,3} - {1:G}", val, CType(val, MultiHue))
Next
End Sub
End Module
' The example displays the following output:
' All possible combinations of values without FlagsAttribute:
' 0 - None
' 1 - Black
' 2 - Red
' 3 - 3
' 4 - Green
' 5 - 5
' 6 - 6
' 7 - 7
' 8 - Blue
' 9 - 9
' 10 - 10
' 11 - 11
' 12 - 12
' 13 - 13
' 14 - 14
' 15 - 15
' 16 - 16
'
' All possible combinations of values with FlagsAttribute:
' 0 - None
' 1 - Black
' 2 - Red
' 3 - Black, Red
' 4 - Green
' 5 - Black, Green
' 6 - Red, Green
' 7 - Black, Red, Green
' 8 - Blue
' 9 - Black, Blue
' 10 - Red, Blue
' 11 - Black, Red, Blue
' 12 - Green, Blue
' 13 - Black, Green, Blue
' 14 - Red, Green, Blue
' 15 - Black, Red, Green, Blue
' 16 - 16
Im vorherigen Beispiel werden zwei farbbezogene Enumerationen SingleHue
und MultiHue
definiert. Letzteres hat das FlagsAttribute
Attribut, ersteres nicht. Das Beispiel zeigt den Unterschied im Verhalten, wenn ein Bereich von ganzen Zahlen, einschließlich Ganzzahlen, die keine zugrunde liegenden Werte des Enumerationstyps darstellen, in den Enumerationstyp umgewandelt und ihre Zeichenfolgendarstellungen angezeigt werden. Beachten Sie beispielsweise, dass 3 nicht als SingleHue
Wert dargestellt werden kann, da 3 nicht der zugrunde liegende Wert eines Elements SingleHue
ist, während das FlagsAttribute
-Attribut es ermöglicht, 3 als MultiHue
Wert von Black, Red
darzustellen.
Das folgende Beispiel definiert eine weitere Enumeration mit dem FlagsAttribute
-Attribut und zeigt, wie bitweise logische Operatoren und Gleichheitsoperatoren verwendet werden, um zu bestimmen, ob ein oder mehrere Bitfelder in einem Enumerationswert festgelegt sind. Dazu können Sie auch die Enum.HasFlag -Methode verwenden, die in diesem Beispiel jedoch nicht gezeigt wird.
using namespace System;
[Flags]
enum class PhoneService
{
None = 0,
LandLine = 1,
Cell = 2,
Fax = 4,
Internet = 8,
Other = 16
};
void main()
{
// Define three variables representing the types of phone service
// in three households.
PhoneService household1 = PhoneService::LandLine | PhoneService::Cell |
PhoneService::Internet;
PhoneService household2 = PhoneService::None;
PhoneService household3 = PhoneService::Cell | PhoneService::Internet;
// Store the variables in an array for ease of access.
array<PhoneService>^ households = { household1, household2, household3 };
// Which households have no service?
for (int ctr = 0; ctr < households->Length; ctr++)
Console::WriteLine("Household {0} has phone service: {1}",
ctr + 1,
households[ctr] == PhoneService::None ?
"No" : "Yes");
Console::WriteLine();
// Which households have cell phone service?
for (int ctr = 0; ctr < households->Length; ctr++)
Console::WriteLine("Household {0} has cell phone service: {1}",
ctr + 1,
(households[ctr] & PhoneService::Cell) == PhoneService::Cell ?
"Yes" : "No");
Console::WriteLine();
// Which households have cell phones and land lines?
PhoneService cellAndLand = PhoneService::Cell | PhoneService::LandLine;
for (int ctr = 0; ctr < households->Length; ctr++)
Console::WriteLine("Household {0} has cell and land line service: {1}",
ctr + 1,
(households[ctr] & cellAndLand) == cellAndLand ?
"Yes" : "No");
Console::WriteLine();
// List all types of service of each household?//
for (int ctr = 0; ctr < households->Length; ctr++)
Console::WriteLine("Household {0} has: {1:G}",
ctr + 1, households[ctr]);
Console::WriteLine();
}
// The example displays the following output:
// Household 1 has phone service: Yes
// Household 2 has phone service: No
// Household 3 has phone service: Yes
//
// Household 1 has cell phone service: Yes
// Household 2 has cell phone service: No
// Household 3 has cell phone service: Yes
//
// Household 1 has cell and land line service: Yes
// Household 2 has cell and land line service: No
// Household 3 has cell and land line service: No
//
// Household 1 has: LandLine, Cell, Internet
// Household 2 has: None
// Household 3 has: Cell, Internet
using System;
[Flags]
public enum PhoneService
{
None = 0,
LandLine = 1,
Cell = 2,
Fax = 4,
Internet = 8,
Other = 16
}
public class Example
{
public static void Main()
{
// Define three variables representing the types of phone service
// in three households.
var household1 = PhoneService.LandLine | PhoneService.Cell |
PhoneService.Internet;
var household2 = PhoneService.None;
var household3 = PhoneService.Cell | PhoneService.Internet;
// Store the variables in an array for ease of access.
PhoneService[] households = { household1, household2, household3 };
// Which households have no service?
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has phone service: {1}",
ctr + 1,
households[ctr] == PhoneService.None ?
"No" : "Yes");
Console.WriteLine();
// Which households have cell phone service?
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has cell phone service: {1}",
ctr + 1,
(households[ctr] & PhoneService.Cell) == PhoneService.Cell ?
"Yes" : "No");
Console.WriteLine();
// Which households have cell phones and land lines?
var cellAndLand = PhoneService.Cell | PhoneService.LandLine;
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has cell and land line service: {1}",
ctr + 1,
(households[ctr] & cellAndLand) == cellAndLand ?
"Yes" : "No");
Console.WriteLine();
// List all types of service of each household?//
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has: {1:G}",
ctr + 1, households[ctr]);
Console.WriteLine();
}
}
// The example displays the following output:
// Household 1 has phone service: Yes
// Household 2 has phone service: No
// Household 3 has phone service: Yes
//
// Household 1 has cell phone service: Yes
// Household 2 has cell phone service: No
// Household 3 has cell phone service: Yes
//
// Household 1 has cell and land line service: Yes
// Household 2 has cell and land line service: No
// Household 3 has cell and land line service: No
//
// Household 1 has: LandLine, Cell, Internet
// Household 2 has: None
// Household 3 has: Cell, Internet
open System
[<Flags>]
type PhoneService =
| None = 0
| LandLine = 1
| Cell = 2
| Fax = 4
| Internet = 8
| Other = 16
// Define three variables representing the types of phone service
// in three households.
let household1 =
PhoneService.LandLine ||| PhoneService.Cell ||| PhoneService.Internet
let household2 =
PhoneService.None
let household3 =
PhoneService.Cell ||| PhoneService.Internet
// Store the variables in a list for ease of access.
let households =
[ household1; household2; household3 ]
// Which households have no service?
for i = 0 to households.Length - 1 do
printfn $"""Household {i + 1} has phone service: {if households[i] = PhoneService.None then "No" else "Yes"}"""
printfn ""
// Which households have cell phone service?
for i = 0 to households.Length - 1 do
printfn $"""Household {i + 1} has cell phone service: {if households[i] &&& PhoneService.Cell = PhoneService.Cell then "Yes" else "No"}"""
printfn ""
// Which households have cell phones and land lines?
let cellAndLand =
PhoneService.Cell ||| PhoneService.LandLine
for i = 0 to households.Length - 1 do
printfn $"""Household {i + 1} has cell and land line service: {if households[i] &&& cellAndLand = cellAndLand then "Yes" else "No"}"""
printfn ""
// List all types of service of each household?//
for i = 0 to households.Length - 1 do
printfn $"Household {i + 1} has: {households[i]:G}"
// The example displays the following output:
// Household 1 has phone service: Yes
// Household 2 has phone service: No
// Household 3 has phone service: Yes
//
// Household 1 has cell phone service: Yes
// Household 2 has cell phone service: No
// Household 3 has cell phone service: Yes
//
// Household 1 has cell and land line service: Yes
// Household 2 has cell and land line service: No
// Household 3 has cell and land line service: No
//
// Household 1 has: LandLine, Cell, Internet
// Household 2 has: None
// Household 3 has: Cell, Internet
<Flags()>
Public Enum PhoneService As Integer
None = 0
LandLine = 1
Cell = 2
Fax = 4
Internet = 8
Other = 16
End Enum
Module Example
Public Sub Main()
' Define three variables representing the types of phone service
' in three households.
Dim household1 As PhoneService = PhoneService.LandLine Or
PhoneService.Cell Or
PhoneService.Internet
Dim household2 As PhoneService = PhoneService.None
Dim household3 As PhoneService = PhoneService.Cell Or
PhoneService.Internet
' Store the variables in an array for ease of access.
Dim households() As PhoneService = { household1, household2,
household3 }
' Which households have no service?
For ctr As Integer = 0 To households.Length - 1
Console.WriteLine("Household {0} has phone service: {1}",
ctr + 1,
If(households(ctr) = PhoneService.None,
"No", "Yes"))
Next
Console.WriteLine()
' Which households have cell phone service?
For ctr As Integer = 0 To households.Length - 1
Console.WriteLine("Household {0} has cell phone service: {1}",
ctr + 1,
If((households(ctr) And PhoneService.Cell) = PhoneService.Cell,
"Yes", "No"))
Next
Console.WriteLine()
' Which households have cell phones and land lines?
Dim cellAndLand As PhoneService = PhoneService.Cell Or PhoneService.LandLine
For ctr As Integer = 0 To households.Length - 1
Console.WriteLine("Household {0} has cell and land line service: {1}",
ctr + 1,
If((households(ctr) And cellAndLand) = cellAndLand,
"Yes", "No"))
Next
Console.WriteLine()
' List all types of service of each household?'
For ctr As Integer = 0 To households.Length - 1
Console.WriteLine("Household {0} has: {1:G}",
ctr + 1, households(ctr))
Next
Console.WriteLine()
End Sub
End Module
' The example displays the following output:
' Household 1 has phone service: Yes
' Household 2 has phone service: No
' Household 3 has phone service: Yes
'
' Household 1 has cell phone service: Yes
' Household 2 has cell phone service: No
' Household 3 has cell phone service: Yes
'
' Household 1 has cell and land line service: Yes
' Household 2 has cell and land line service: No
' Household 3 has cell and land line service: No
'
' Household 1 has: LandLine, Cell, Internet
' Household 2 has: None
' Household 3 has: Cell, Internet
Hinweise
Bitfelder werden im Allgemeinen für Listen von Elementen verwendet, die in Kombination auftreten können, während Enumerationskonstanten in der Regel für Listen mit sich gegenseitig ausschließenden Elementen verwendet werden. Daher sind Bitfelder so konzipiert, dass sie mit einem bitweisen OR-Vorgang kombiniert werden, um unbenannte Werte zu generieren, während aufgezählte Konstanten dies nicht sind. Sprachen unterscheiden sich in ihrer Verwendung von Bitfeldern im Vergleich zu Enumerationskonstanten.
Attribute des FlagsAttribute
AttributeUsageAttribute wird auf diese Klasse angewendet, und ihre Inherited -Eigenschaft gibt an false
. Dieses Attribut kann nur auf Enumerationen angewendet werden.
Richtlinien für FlagsAttribute und Enum
Verwenden Sie das FlagsAttribute benutzerdefinierte Attribut nur für eine Enumeration, wenn ein bitweiser Vorgang (AND, OR, EXCLUSIVE OR) für einen numerischen Wert ausgeführt werden soll.
Definieren Sie Enumerationskonstanten in Mächten von zwei, d. h. 1, 2, 4, 8 usw. Dies bedeutet, dass sich die einzelnen Flags in kombinierten Enumerationskonstanten nicht überlappen.
Erwägen Sie, eine aufgezählte Konstante für häufig verwendete Flagkombinationen zu erstellen. Wenn Sie beispielsweise über eine Enumeration verfügen, die für Datei-E/A-Vorgänge verwendet wird, die die aufgezählten Konstanten
Read = 1
undWrite = 2
enthält, sollten Sie die AufzählungskonstanteReadWrite = Read OR Write
erstellen, die dieRead
Flags undWrite
kombiniert. Darüber hinaus kann der bitweise OR-Vorgang, der zum Kombinieren der Flags verwendet wird, unter bestimmten Umständen als erweitertes Konzept angesehen werden, das für einfache Aufgaben nicht erforderlich sein sollte.Seien Sie vorsichtig, wenn Sie eine negative Zahl als aufgezählte Flagkonstante definieren, da viele Flagpositionen möglicherweise auf 1 festgelegt werden, was Ihren Code verwirrend machen und Codierungsfehler fördern kann.
Eine praktische Möglichkeit, um zu testen, ob ein Flag in einem numerischen Wert festgelegt ist, besteht darin, einen bitweisen AND-Vorgang zwischen dem numerischen Wert und der flag enumerierten Konstanten auszuführen, wodurch alle Bits im numerischen Wert auf 0 festgelegt werden, die nicht dem Flag entsprechen, und dann zu testen, ob das Ergebnis dieses Vorgangs der aufgezählten Flagkonstante entspricht.
Verwenden Sie
None
als Name der aufgezählten Flagkonstante, deren Wert 0 ist. Sie können dieNone
aufgezählte Konstante in einem bitweisen AND-Vorgang nicht verwenden, um auf ein Flag zu testen, da das Ergebnis immer 0 ist. Sie können jedoch einen logischen, nicht bitweisen Vergleich zwischen dem numerischen Wert und derNone
aufgezählten Konstanten durchführen, um zu bestimmen, ob Bits im numerischen Wert festgelegt sind.Wenn Sie eine Wertaufzählung anstelle einer Flags-Enumeration erstellen, lohnt es sich trotzdem, eine
None
aufgezählte Konstante zu erstellen. Der Grund dafür ist, dass der für die Enumeration verwendete Arbeitsspeicher standardmäßig von der Common Language Runtime auf Null initialisiert wird. Wenn Sie also keine Konstante definieren, deren Wert 0 ist, enthält die Enumeration beim Erstellen einen ungültigen Wert.Wenn es einen offensichtlichen Standardfall gibt, den Ihre Anwendung darstellen muss, sollten Sie eine aufgezählte Konstante verwenden, deren Wert 0 ist, um den Standardwert darzustellen. Wenn kein Standardfall vorhanden ist, sollten Sie eine enumerierte Konstante verwenden, deren Wert 0 ist, d. h. die Groß- und Kleinschreibung, die nicht durch eine der anderen aufgezählten Konstanten dargestellt wird.
Definieren Sie einen Enumerationswert nicht nur, um den Zustand der Enumeration selbst zu spiegeln. Definieren Sie beispielsweise keine aufgezählte Konstante, die lediglich das Ende der Enumeration markiert. Wenn Sie den letzten Wert der Enumeration ermitteln müssen, suchen Sie explizit nach diesem Wert. Darüber hinaus können Sie eine Bereichsprüfung für die erste und letzte aufgezählte Konstante durchführen, wenn alle Werte innerhalb des Bereichs gültig sind.
Geben Sie keine aufgezählten Konstanten an, die für die zukünftige Verwendung reserviert sind.
Wenn Sie eine Methode oder Eigenschaft definieren, die eine aufgezählte Konstante als Wert akzeptiert, sollten Sie den Wert überprüfen. Der Grund ist, dass Sie einen numerischen Wert in den Enumerationstyp umwandeln können, auch wenn dieser numerische Wert in der Enumeration nicht definiert ist.
Konstruktoren
FlagsAttribute() |
Initialisiert eine neue Instanz der FlagsAttribute-Klasse. |
Eigenschaften
TypeId |
Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. (Geerbt von Attribute) |
Methoden
Equals(Object) |
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) |
Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Geerbt von Attribute) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
_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) |