Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MTAThreadAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt an, dass MTA (Multithreaded Apartment) als COM-Threadingmodell für eine Anwendung verwendet wird.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Attribute
    System.MTAThreadAttribute

[AttributeUsageAttribute(AttributeTargets.Method)]
[ComVisibleAttribute(true)]
public sealed class MTAThreadAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodMTAThreadAttribute()

Initialisiert eine neue Instanz der MTAThreadAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(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“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

Wenden Sie dieses Attribut auf die Einstiegspunktmethode (die Main() -Methode in c# und Visual Basic). Wirkt sich nicht auf andere Weise. Verwenden, um den Apartmentzustand eines Threads festzulegen, Sie, in Ihrem Code beginnen, die Thread.SetApartmentState oder Thread.TrySetApartmentState -Methode vor dem Starten des Threads.

System_CAPS_noteHinweis

Einen Überblick über die COM-Threadingmodellen finden Sie unter Understanding and Using COM Threading Models.

Com-Threadingmodellen gelten nur für Programme, die COM-Interop verwenden. Das COM-Threadingmodell kann auf Singlethreaded Apartment oder multithreaded Apartment festgelegt werden. Der Thread wird nur für COM-Interop initialisiert, wenn der Thread tatsächlich eine COM-Komponente aufruft. Wenn die COM-Interop nicht verwendet wird, und der Thread wird nicht initialisiert, und das MTAThreadAttribute -Attribut, sofern es vorhanden ist, hat keine Auswirkung.

Ab .NET Framework, Version 2.0, hängt von der Standard threading-Modell für COM-Interop die Sprache, in der der Entwicklung einer Anwendung, wie in der folgenden Tabelle dargestellt werden.

Sprache

Com-Apartment-Modell

C#

Multithread-apartment

C++

Multithread-apartment

Visual Basic

Singlethread-apartment

Um diese Standardwerte zu ändern, verwenden Sie die MTAThreadAttribute Attribut zum Festlegen des Threadingmodells für die Anwendung oder ein Aufruf der Thread.SetApartmentState oder Thread.TrySetApartmentState -Methode vor dem Starten des Threads zum Festlegen des Threadingmodells für einen bestimmten Thread. In C++ können Sie auch die /CLRTHREADATTRIBUTE (Festlegen des CLR-Threadattributs) -Linkeroption verwenden, um das Apartmentmodell angeben.

Einige Fälle, in denen Sie verwenden möchten, die MTAThreadAttribute Attribut zum expliziten Festlegen des Threadingmodells auf Multithread-Apartment umfassen Folgendes:

  • Sie entwickeln eine Visual Basic-Anwendung, die in einer c#-Bibliothek aufruft, der wiederum COM-Interop verwendet. Da das Multithread-Apartment-Modell die Standardeinstellung für c# ist, sollten Sie Ihre app-Threadingmodell in Multithread ändern, mithilfe der MTAThreadAttribute Attribut.

  • Die Anwendung ruft COM-Komponenten, die den Multithread-Apartment-Modell verwenden.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: