Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

MTAThreadAttribute, classe

Indique que le modèle de thread COM d'une application est un modèle MTA (MultiThreaded Apartment).

System.Object
  System.Attribute
    System.MTAThreadAttribute

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

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

Le type MTAThreadAttribute expose les membres suivants.

  NomDescription
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreMTAThreadAttributeInitialise une nouvelle instance de la classe MTAThreadAttribute.
Début

  NomDescription
Propriété publiqueTypeIdLors de son implémentation dans une classe dérivée, obtient un identificateur unique pour Attribute. (Hérité de Attribute.)
Début

  NomDescription
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreEqualsInfrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreGetHashCodeRetourne le code de hachage de cette instance. (Hérité de Attribute.)
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIsDefaultAttributeEn cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publiqueMatchEn cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privée_Attribute.GetIDsOfNamesMappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoRécupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoCountRécupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.InvokeFournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)
Début

Appliquez cet attribut à la méthode de point d'entrée (la méthode Main() en C# et Visual Basic). Il n'a aucun effet sur d'autres méthodes. Pour définir l'état de cloisonnement des threads que vous démarrez dans votre code, utilisez la méthode Thread.SetApartmentState avant de démarrer le thread.

RemarqueRemarque

Dans les versions 1.0 et 1.1 du .NET Framework, définissez la propriété Thread.ApartmentState avant de démarrer le thread.

Les modèles de thread COM ne s'appliquent qu'aux applications utilisant COM Interop. L'utilisation de cet attribut dans une application qui ne fait pas appel à COM Interop n'a aucun effet.

Vous pouvez définir comme modèle de thread COM un modèle STA (Single-Threaded Apartment) ou un modèle MTA (Multi-Threaded Apartment). Le thread de l'application est initialisé pour COM Interop lorsqu'il appelle un composant COM uniquement. En cas de non-utilisation de COM Interop, le thread n'est pas initialisé.

Dans les versions 1.0 et 1.1 du .NET Framework, utilisez cet attribut sur Main() au lieu de définir la propriété Thread.ApartmentState sur la première ligne de code, pour garantir que le modèle de thread est défini avant l'exécution de tout code de démarrage.

Remarque importanteImportant

Dans le .NET Framework version 2.0, les nouveaux threads sont initialisés comme ApartmentState.MTA si leur état de cloisonnement n'a pas été défini avant leur démarrage. Le thread de l'application principale est initialisé par défaut sur ApartmentState.MTA. Vous ne pouvez plus définir le thread d'application principal à ApartmentState.STA en définissant la propriété Thread.ApartmentState sur la première ligne de code. Utilisez plutôt STAThreadAttribute.

Dans la version 2.0 du .NET Framework, vous pouvez également spécifier le modèle de thread COM pour une application C++ à l'aide de l'option de l'éditeur de liens /CLRTHREADATTRIBUTE (Définir l'attribut de thread CLR).

Les applications ASP.NET doivent affecter la valeur true à l'attribut ASPCompat de la directive @ Page, afin de forcer le traitement de la page par le pool de threads STA.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft