ComponentGuaranteesAttribute Klasse

Definition

Definiert die Kompatibilitätsgarantie einer Komponente, eines Typs oder eines Typmembers, die bzw. der mehrere Versionen umfassen kann.Defines the compatibility guarantee of a component, type, or type member that may span multiple versions.

public ref class ComponentGuaranteesAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Enum | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Module | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)]
public sealed class ComponentGuaranteesAttribute : Attribute
type ComponentGuaranteesAttribute = class
    inherit Attribute
Public NotInheritable Class ComponentGuaranteesAttribute
Inherits Attribute
Vererbung
ComponentGuaranteesAttribute
Attribute

Hinweise

Der ComponentGuaranteesAttribute wird von Entwicklern von Komponenten und Klassenbibliotheken verwendet, um den Grad der Kompatibilität anzugeben, den Consumer Ihrer Bibliotheken in mehreren Versionen erwarten können.The ComponentGuaranteesAttribute is used by developers of components and class libraries to indicate the level of compatibility that consumers of their libraries can expect across multiple versions. Gibt den Grad der Garantie an, dass eine zukünftige Version der Bibliothek oder Komponente einen vorhandenen Client nicht unterbricht.It indicates the level of guarantee that a future version of the library or component will not break an existing client. Clients können dann das als ComponentGuaranteesAttribute Unterstützung beim Entwerfen Ihrer eigenen Schnittstellen verwenden, um die Stabilität der verschiedenen Versionen zu gewährleisten.Clients can then use the ComponentGuaranteesAttribute as an aid in designing their own interfaces to ensure stability across versions.

Hinweis

Der Common Language Runtime (CLR) verwendet dieses Attribut in keiner Weise.The common language runtime (CLR) does not use this attribute in any way. Der Wert liegt darin, dass die Absicht des Komponenten Autors formal dokumentiert wird.Its value lies in formally documenting the intent of the component author. Kompilierzeit Tools können diese Deklarationen auch verwenden, um Kompilierzeitfehler zu erkennen, die andernfalls die deklarierte Garantie unterbrechen würden.Compile-time tools can also use these declarations to detect compile-time errors that would otherwise break the declared guarantee.

Kompatibilitäts GradeLevels of Compatibility

Unterstützt die folgenden Kompatibilitäts Grade, die von Membern ComponentGuaranteesOptions der-Enumeration dargestellt werden: ComponentGuaranteesAttributeThe ComponentGuaranteesAttribute supports the following levels of compatibility, which are represented by members of the ComponentGuaranteesOptions enumeration:

  • Keine Versions-zu-Version-KompatibilitätComponentGuaranteesOptions.None().No version-to-version compatibility (ComponentGuaranteesOptions.None). Der Client kann davon ausgehen, dass zukünftige Versionen den vorhandenen Client unterbrechen.The client can expect that future versions will break the existing client. Weitere Informationen finden Sie im Abschnitt keine Kompatibilität weiter unten in diesem Thema.For more information, see the No Compatibility section later in this topic.

  • Parallele Kompatibilität von Versionen zu Version (ComponentGuaranteesOptions.SideBySide).Side-by-side version-to-version compatibility (ComponentGuaranteesOptions.SideBySide). Die Komponente wurde so getestet, dass Sie funktioniert, wenn mehr als eine Version der Assembly in derselben Anwendungsdomäne geladen wird.The component has been tested to work when more than one version of the assembly is loaded in the same application domain. Im Allgemeinen kann die Kompatibilität in zukünftigen Versionen unterbrechen.In general, future versions can break compatibility. Wenn jedoch wichtige Änderungen vorgenommen werden, wird die alte Version nicht geändert, aber neben der neuen Version vorhanden.However, when breaking changes are made, the old version is not modified but exists alongside the new version. Die parallele Ausführung ist die erwartete Methode, damit vorhandene Clients funktionieren, wenn wichtige Änderungen vorgenommen werden.Side-by-side execution is the expected way to make existing clients work when breaking changes are made. Weitere Informationen finden Sie im Abschnitt parallele Kompatibilität weiter unten in diesem Thema.For more information, see the Side-by-Side Compatibility section later in this topic.

  • Stabile Versions-zu-Version-KompatibilitätComponentGuaranteesOptions.Stable().Stable version-to-version compatibility (ComponentGuaranteesOptions.Stable). Zukünftige Versionen sollten den Client nicht unterbrechen, und eine parallele Ausführung sollte nicht benötigt werden.Future versions should not break the client, and side-by-side execution should not be needed. Wenn der Client jedoch versehentlich beschädigt ist, kann die parallele Ausführung verwendet werden, um das Problem zu beheben.However, if the client is inadvertently broken, it may be possible to use side-by-side execution to fix the problem. Weitere Informationen finden Sie im Abschnitt stabile Kompatibilität .For more information, see the Stable Compatibility section.

  • Version-zu-Version-Kompatibilität vonComponentGuaranteesOptions.ExchangeExchange ().Exchange version-to-version compatibility (ComponentGuaranteesOptions.Exchange). Es wird außerordentlich Sorgfalt geboten, um sicherzustellen, dass zukünftige Versionen den Client nicht unterbrechen.Extraordinary care is taken to ensure that future versions will not break the client. Der Client sollte nur diese Typen in der Signatur von Schnittstellen verwenden, die für die Kommunikation mit anderen Assemblys verwendet werden, die unabhängig voneinander bereitgestellt werden.The client should use only these types in the signature of interfaces that are used for communication with other assemblies that are deployed independently of one another. Es wird davon ausgegangen, dass sich nur eine Version dieser Typen in einer bestimmten Anwendungsdomäne befindet. Dies bedeutet, dass die parallele Ausführung das Kompatibilitätsproblem nicht beheben kann, wenn ein Client unterbrochen wird.Only one version of these types is expected to be in a given application domain, which means that if a client breaks, side-by-side execution cannot fix the compatibility problem. Weitere Informationen finden Sie im Abschnitt Exchange-Typkompatibilität .For more information, see the Exchange Type Compatibility section.

In den folgenden Abschnitten wird jede Ebene der Garantie ausführlicher erläutert.The following sections discuss each level of guarantee in greater detail.

Keine KompatibilitätNo Compatibility

Durch das Markieren einer ComponentGuaranteesOptions.None Komponente als wird angegeben, dass der Anbieter keine Garantie bezüglich der Kompatibilität hat.Marking a component as ComponentGuaranteesOptions.None indicates that the provider makes no guarantees about compatibility. Clients sollten keine Abhängigkeiten von den verfügbar gemachten Schnittstellen berücksichtigen.Clients should avoid taking any dependencies on the exposed interfaces. Diese Kompatibilitäts Stufe eignet sich für Typen, die experimentell sind oder öffentlich verfügbar gemacht werden, aber nur für Komponenten vorgesehen sind, die immer gleichzeitig aktualisiert werden.This level of compatibility is useful for types that are experimental or that are publicly exposed but are intended only for components that are always updated at the same time. Nonegibt explizit an, dass diese Komponente von externen Komponenten nicht verwendet werden soll.None explicitly indicates that this component should not be used by external components.

Seite-an-Seite-KompatibilitätSide-by-Side Compatibility

Das Markieren einer Komponente ComponentGuaranteesOptions.SideBySide als gibt an, dass die Komponente getestet wurde, wenn mehr als eine Version der Assembly in dieselbe Anwendungsdomäne geladen wird.Marking a component as ComponentGuaranteesOptions.SideBySide indicates that the component has been tested to work when more than one version of the assembly is loaded into the same application domain. Wichtige Änderungen sind zulässig, solange Sie an der Assembly vorgenommen werden, die über die höhere Versionsnummer verfügt.Breaking changes are allowed as long as they are made to the assembly that has the greater version number. Komponenten, die an eine alte Version der Assembly gebunden sind, werden voraussichtlich weiterhin an die alte Version gebunden, und andere Komponenten können an die neue Version gebunden werden.Components that are bound to an old version of the assembly are expected to continue to bind to the old version, and other components can bind to the new version. Es ist auch möglich, eine Komponente zu SideBySide aktualisieren, die als durch debuggende Änderung der alten Version deklariert wird.It is also possible to update a component that is declared to be SideBySide by destructively modifying the old version.

Stabile KompatibilitätStable Compatibility

Das Markieren eines Typs ComponentGuaranteesOptions.Stable als gibt an, dass der Typ über mehrere Versionen hinweg stabil bleiben soll.Marking a type as ComponentGuaranteesOptions.Stable indicates that the type should remain stable across versions. Allerdings kann es auch vorkommen, dass eine parallele Version eines stabilen Typs in derselben Anwendungsdomäne vorhanden ist.However, it may also be possible for side-by-side versions of a stable type to exist in the same application domain.

Stabile Typen behalten eine hohe binäre Kompatibilitäts Leiste bei.Stable types maintain a high binary compatibility bar. Aus diesem Grund sollten Anbieter keine wichtigen Änderungen an stabilen Typen vornehmen.Because of this, providers should avoid making breaking changes to stable types. Die folgenden Arten von Änderungen sind akzeptabel:The following kinds of changes are acceptable:

  • Hinzufügen von privaten Instanzfeldern oder Entfernen von Feldern aus einem Typ, solange das Serialisierungsformat dadurch nicht unterbricht wird.Adding private instance fields to, or removing fields from, a type, as long as this does not break the serialization format.

  • Ändern eines nicht serialisierbaren Typs in einen serialisierbaren Typ.Changing a non-serializable type to a serializable type. (Ein serialisierbarer Typ kann jedoch nicht in einen Typ geändert werden, der nicht serialisierbar ist.)(However, a serializable type cannot be changed to a non-serializable type.)

  • Auslösen neuer, stärker abgeleiteter Ausnahmen aus einer Methode.Throwing new, more derived exceptions from a method.

  • Verbessern der Leistung einer Methode.Improving the performance of a method.

  • Ändern des Bereichs von Rückgabe Werten, solange sich die Änderung nicht negativ auf die Mehrzahl der Clients auswirkt.Changing the range of return values, as long as the change does not adversely affect the majority of clients.

  • Korrektur schwerwiegender Fehler, wenn die geschäftliche Begründung hoch ist und die Anzahl der betroffenen Clients gering ist.Fixing serious bugs, if the business justification is high and the number of adversely affected clients is low.

Da bei neuen Versionen stabiler Komponenten die Ausführung vorhandener Clients nicht zu erwarten ist, ist in der Regel nur eine Version einer stabilen Komponente in einer Anwendungsdomäne erforderlich.Because new versions of stable components are not expected to break existing clients, generally only one version of a stable component is needed in an application domain. Dies ist jedoch nicht zwingend erforderlich, da stabile Typen nicht als bekannte Austausch Typen verwendet werden, denen alle Komponenten zustimmen.However, this is not a requirement, because stable types are not used as well-known exchange types that all components agree upon. Wenn eine neue Version einer stabilen Komponente eine Komponente versehentlich unterbricht und andere Komponenten die neue Version benötigen, kann das Problem möglicherweise behoben werden, indem sowohl die alte als auch die neue Komponente geladen werden.Therefore, if a new version of a stable component does inadvertently break some component, and if other components need the new version, it may be possible to fix the problem by loading both the old and new component.

Stablebietet eine höhere Versions Kompatibilitäts Garantie Noneals.Stable provides a stronger version compatibility guarantee than None. Dies ist ein gängiger Standardwert für Komponenten mit mehreren Versionen.It is a common default for multi-version components.

Stablekann mit SideBySidekombiniert werden, was besagt, dass die Komponente die Kompatibilität nicht unterbricht, sondern getestet wird, wenn mehr als eine Version in eine bestimmte Anwendungsdomäne geladen wird.Stable can be combined with SideBySide, which states that the component will not break compatibility but is tested to work when more than one version is loaded in a given application domain.

Nachdem ein Typ oder eine Methode als Stablemarkiert wurde, kann Sie auf Exchangeaktualisiert werden.After a type or method is marked as Stable, it can be upgraded to Exchange. Sie kann jedoch nicht auf Noneherabgestuft werden.However, it cannot be downgraded to None.

Exchange-TypkompatibilitätExchange Type Compatibility

Das Markieren eines Typs ComponentGuaranteesOptions.Exchange als bietet eine stärkere Versions Kompatibilitäts StableGarantie als und sollte auf die stabilsten aller Typen angewendet werden.Marking a type as ComponentGuaranteesOptions.Exchange provides a stronger version compatibility guarantee than Stable, and should be applied to the most stable of all types. Diese Typen sind für den Austausch zwischen unabhängig erstellten Komponenten über alle Komponenten Grenzen hinweg in beiden Zeiträumen (beliebige Version der CLR oder einer beliebigen Version einer Komponente oder Anwendung) und Speicherplatz (Prozess übergreifend, Cross-CLR in einem Prozess) vorgesehen. Anwendungsübergreifende Domäne in einer CLR).These types are intended to be used for interchange between independently built components across all component boundaries in both time (any version of the CLR or any version of a component or application) and space (cross-process, cross-CLR in one process, cross-application domain in one CLR). Wenn ein Breaking Change an einem Austauschtyp vorgenommen wird, ist es nicht möglich, das Problem zu beheben, indem mehrere Versionen des Typs geladen werden.If a breaking change is made to an exchange type, it is impossible to fix the issue by loading multiple versions of the type.

Exchange-Typen sollten nur geändert werden, wenn ein Problem sehr schwerwiegend ist (z. b. ein schwerwiegendes Sicherheitsproblem) oder die Wahrscheinlichkeit eines Bruchs sehr gering ist (d. h., wenn das Verhalten bereits auf zufällige Weise unterbrochen wurde, dass der Code keine Abhängigkeit von dem Code durchführen konnte).Exchange types should be changed only when a problem is very serious (such as a severe security issue) or the probability of breakage is very low (that is, if the behavior was already broken in a random way that code could not have conceivably taken a dependency on). Sie können die folgenden Arten von Änderungen an einem Austauschtyp vornehmen:You can make the following kinds of changes to an exchange type:

  • Fügen Sie Vererbung von neuen Schnittstellendefinitionen hinzu.Add inheritance of new interface definitions.

  • Fügen Sie neue private Methoden hinzu, mit denen die Methoden neu geerbte Schnittstellendefinitionen implementiert werden.Add new private methods that implement the methods of newly inherited interface definitions.

  • Fügen Sie neue statische Felder hinzu.Add new static fields.

  • Fügen Sie neue statische Methoden hinzu.Add new static methods.

  • Fügen Sie neue nicht virtuelle Instanzmethoden hinzu.Add new non-virtual instance methods.

Folgendes gilt als wichtige Änderungen, die für primitive Typen nicht zulässig sind:The following are considered breaking changes and are not allowed for primitive types:

  • Ändern der Serialisierungsformate.Changing serialization formats. Versions tolerante Serialisierung ist erforderlich.Version-tolerant serialization is required.

  • Hinzufügen oder Entfernen von privaten Instanzfeldern.Adding or removing private instance fields. Dies birgt das Risiko, das Serialisierungsformat des Typs zu ändern und Client Code zu unterbrechen, der Reflektion verwendetThis risks changing the serialization format of the type and breaking client code that uses reflection.

  • Ändern der Serialisierbarkeit eines Typs.Changing the serializability of a type. Ein nicht serialisierbarer Typ kann nicht serialisierbar gemacht werden und umgekehrt.A non-serializable type may not be made serializable, and vice versa.

  • Auslösen verschiedener Ausnahmen von einer Methode.Throwing different exceptions from a method.

  • Ändern des Bereichs der Rückgabewerte einer Methode, es sei denn, die Element Definition löst diese Möglichkeit aus und gibt eindeutig an, wie Clients unbekannte Werte verarbeiten sollten.Changing the range of a method's return values, unless the member definition raises this possibility and clearly indicates how clients should handle unknown values.

  • Die meisten Fehler werden behoben.Fixing most bugs. Consumer des Typs verlassen sich auf das vorhandene Verhalten.Consumers of the type will rely on the existing behavior.

Nachdem eine Komponente, ein Typ oder ein Member mit der Exchange Garantie gekennzeichnet wurde, kann Sie weder Stable in noch Nonegeändert werden.After a component, type, or member is marked with the Exchange guarantee, it cannot be changed to either Stable or None.

In der Regel sind Exchange Int32 IList<T>-Typen die grundlegenden Typen ( String z. b. und im .NET Framework) und Schnitt IEnumerable<T>stellen (z. b., und IComparable<T>), die häufig in öffentlichen Schnittstellen verwendet werden.Typically, exchange types are the basic types (such as Int32 and String in the .NET Framework) and interfaces (such as IList<T>, IEnumerable<T>, and IComparable<T>) that are commonly used in public interfaces.

Exchange-Typen können öffentlich nur andere Typen verfügbar machen, die ebenfalls Exchange mit Kompatibilität gekennzeichnet sind.Exchange types may publicly expose only other types that are also marked with Exchange compatibility. Außerdem können Exchange-Typen nicht vom Verhalten von Windows-APIs abhängen, die geändert werden können.In addition, exchange types cannot depend on the behavior of Windows APIs that are prone to change.

Komponenten Garantien: Eine ZusammenfassungComponent Guarantees: A Summary

In der folgenden Tabelle wird angegeben, wie sich die Merkmale und die Verwendung einer Komponente auf die Kompatibilitäts Garantie auswirken.The following table indicates how a component's characteristics and usage affect its compatibility guarantee.

Komponenten MerkmaleComponent characteristics ExchangeExchange StabilStable Seite-an-SeiteSide-by-Side KeineNone
Kann in Schnittstellen zwischen Komponenten verwendet werden, die unabhängig voneinander verwendet werden.Can be used in interfaces between components that version independently. JY NN NN NN
Kann (privat) von einer Assembly verwendet werden, die unabhängig voneinander verwendet wird.Can be used (privately) by an assembly that versions independently. JY JY JY NN
In einer einzelnen Anwendungsdomäne können mehrere Versionen vorhanden sein.Can have multiple versions in a single application domain. NN JY JY JY
Kann wichtige Änderungen vornehmenCan make breaking changes NN NN JY JY
Getestet, um zu gewährleisten, dass bestimmte Versionen der Assembly gleichzeitig geladen werden können.Tested to make certain multiple versions of the assembly can be loaded together. NN NN JY NN
Können wichtige Änderungen vornehmen.Can make breaking changes in place. NN NN NN JY
Kann sehr sichere, nicht unterbrechende Wartungs Änderungen vornehmen.Can make very safe non-breaking servicing changes in place. JY JY JY JY

Anwenden des AttributsApplying the Attribute

Sie können das ComponentGuaranteesAttribute auf eine Assembly, einen Typ oder einen Typmember anwenden.You can apply the ComponentGuaranteesAttribute to an assembly, a type, or a type member. Die Anwendung ist hierarchisch.Its application is hierarchical. Standardmäßig definiert die durch die Guarantees -Eigenschaft des-Attributs auf Assemblyebene definierte Garantie die Garantie aller Typen in der Assembly und aller Member in diesen Typen.That is, by default, the guarantee defined by the Guarantees property of the attribute at the assembly level defines the guarantee of all types in the assembly and all members in those types. Ebenso gilt: Wenn die Garantie auf den Typ angewendet wird, gilt sie standardmäßig auch für jeden Member des Typs.Similarly, if the guarantee is applied to the type, by default it also applies to each member of the type.

Diese geerbte Garantie kann überschrieben werden, indem ComponentGuaranteesAttribute der auf einzelne Typen und Typmember angewendet wird.This inherited guarantee can be overridden by applying the ComponentGuaranteesAttribute to individual types and type members. Garantien, die den Standardwert überschreiben, können jedoch nur die Garantie Schwächen. Diese können nicht verstärkt werden.However, guarantees that override the default can only weaken the guarantee; they cannot strengthen it. Wenn eine Assembly z. b. mit der None Garantie gekennzeichnet ist, haben deren Typen und Member keine Kompatibilitäts Garantie, und jede andere Garantie, die auf Typen oder Member in der Assembly angewendet wird, wird ignoriert.For example, if an assembly is marked with the None guarantee, its types and members have no compatibility guarantee, and any other guarantee that is applied to types or members in the assembly is ignored.

Testen der GarantieTesting the Guarantee

Die Guarantees -Eigenschaft gibt einen Member ComponentGuaranteesOptions der-Enumeration zurück, der mit dem FlagsAttribute -Attribut markiert ist.The Guarantees property returns a member of the ComponentGuaranteesOptions enumeration, which is marked with the FlagsAttribute attribute. Dies bedeutet, dass Sie auf das Flag testen sollten, an dem Sie interessiert sind, indem Sie potenziell unbekannte Flags maskieren.This means that you should test for the flag that you are interested in by masking away potentially unknown flags. Im folgenden Beispiel wird z. b. getestet, ob ein Typ Stableals gekennzeichnet ist.For example, the following example tests whether a type is marked as Stable.

// Test whether guarantee is Stable.
if ((guarantee & ComponentGuaranteesOptions.Stable) == ComponentGuaranteesOptions.Stable)
   Console.WriteLine("{0} is marked as {1}.", typ.Name, guarantee);
' Test whether guarantee is Stable.
If (guarantee And ComponentGuaranteesOptions.Stable) = ComponentGuaranteesOptions.Stable Then
   Console.WriteLine("{0} is marked as {1}.", typ.Name, guarantee)
End If

Im folgenden Beispiel wird getestet, ob ein Typ als Stable oder Exchangegekennzeichnet ist.The following example tests whether a type is marked as Stable or Exchange.

// Test whether guarantee is Stable or Exchange.
if ((guarantee & (ComponentGuaranteesOptions.Stable | ComponentGuaranteesOptions.Exchange)) > 0)
   Console.WriteLine("{0} is marked as Stable or Exchange.", typ.Name, guarantee);
' Test whether guarantee is Stable or Exchange.
If (guarantee And (ComponentGuaranteesOptions.Stable Or ComponentGuaranteesOptions.Exchange)) > 0 Then
   Console.WriteLine("{0} is marked as Stable or Exchange.", typ.Name, guarantee)
End If

Im folgenden Beispiel wird getestet, ob ein Typ als None markiert ist (d. h. weder Stable noch Exchange).The following example tests wither a type is marked as None (that is, neither Stable nor Exchange).

// Test whether there is no guarantee (neither Stable nor Exchange).
if ((guarantee & (ComponentGuaranteesOptions.Stable | ComponentGuaranteesOptions.Exchange)) == 0)
   Console.WriteLine("{0} has no compatibility guarantee.", typ.Name, guarantee);
' Test whether there is no guarantee (neither Stable nor Exchange).
If (guarantee And (ComponentGuaranteesOptions.Stable Or ComponentGuaranteesOptions.Exchange)) = 0 Then
   Console.WriteLine("{0} has no compatibility guarantee.", typ.Name, guarantee)
End If      

Konstruktoren

ComponentGuaranteesAttribute(ComponentGuaranteesOptions)

Initialisiert eine neue Instanz der ComponentGuaranteesAttribute-Klasse mit einem Wert, der den garantierten Kompatibilitätsgrad einer Bibliothek, eines Typs oder eines Members über mehrere Versionen angibt.Initializes a new instance of the ComponentGuaranteesAttribute class with a value that indicates a library, type, or member's guaranteed level of compatibility across multiple versions.

Eigenschaften

Guarantees

Ruft einen Wert ab, der den garantierten Kompatibilitätsgrad einer Bibliothek, eines Typs oder Typmembers angibt, die bzw. der mehrere Versionen umfasst.Gets a value that indicates the guaranteed level of compatibility of a library, type, or type member that spans multiple versions.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(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.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(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.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 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.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für:

Siehe auch