Bonjour.
je cree une application console c#, et la classe qui m'est proposée par visual studio contient STAThread.
comme je ne sais pas ce que cela signifie, je l'ai carrement supprimée.
quelqu'un peut il me dire ce que STAThread signifie?
Bonjour.
je cree une application console c#, et la classe qui m'est proposée par visual studio contient STAThread.
comme je ne sais pas ce que cela signifie, je l'ai carrement supprimée.
quelqu'un peut il me dire ce que STAThread signifie?
je ne sais pas ce que celà signifie mais c'est là que se trouve le Main() c'est a dire la méthode qui démarre mon application. je suis sûr qu'après que tu l'aies supprimé ton application ne s'exécute plus
elle continue de s'executer normalement.
enfin, je crois.
le seul probleme, c'est que je genere des nombres aleatoires, et j'ai bien peur que cet attribut que j'ai supprimé, vienne fausser la donne.
Peux tu mettre le code que tu as supprimé?
il n'ya pas de code.
peut etre je m'exprime mal:
je voudrais savoir à quoi sert exactement [STAThread].
merci d'avance.
Bonjour,
STAThreadAttribute, classe
Ne supprime pas cet attribut.
Si tu as une erreur dans ton application, je pense que cela vient plus de ton code.
Bye
Bonsoir,
Le problème c'est que la doc MSDN n'est pas assez précise pour expliquer l'utilité de cet attribut.
Le thread d'une WinForms doit toujours être marqué d'un attribut [STAThread].
Le modèle STAThread signifie que tous les contrôles pour une WinForm seront gérés par un et un seul Thread. Au contraire pour le modèle MTAThread, la création d'un contrôle méne à la création d'un nouveau Thread. Le STAThread est choisi pour éviter les problèmes de conflits entre les différents Threads pouvant apparaître avec le modèle MTAThread.
d'accord.
je l'ai mis en commentaire.
et comme j'ai une application du type console, pas de winform, est ce pour ça que l'application continue de tourner?
ce que je veux dire, c'est que j'ai l'impression qu'en le mettant en commentaire, les fonctionnalités de mon application sont restées inchangées.
Peut qu'oui, peut etre que non!je vais tester et t'en donner des nouvelles
Salut,
le fait de marquer le point d'entrée d'un programme avec STAThread permet de lancer le thread principal (celui qui entrera dans le main) avec l'appartment STA. La notion d'appartment provient de COM, et permet de restreindre l'utilisation d'un objet à un seul thread. Winform a hérité de ses appartment, d'où l'obligation d'utiliser un thread STA pour travailler avec des forms.
Bref, quand tu développes une appli Winform, tout les threads touchant à de l'UI doivent être en STA (par défaut un thread managé est en MTA, d'où les problèmes quand on touche à de l'UI sur un thread du pool). Pour la console, en gros, ça n'a pas d'importance (d'ailleurs en faisant un nouveau projet console, l'attribut n'est pas placé).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager