In Wattins Quellcode gibt es diesen Code:
%Vor% Warum wird das [STAThread]
-Attribut zur Methode hinzugefügt, weil der erstellte Thread seinen Apartmentstatus festgelegt hat? Ich bin nicht an dem spezifischen Codeabschnitt interessiert, aber ich frage mich, ob STAThread
Attribut überhaupt benötigt wird.
Anmerkungen:
GoToNoWaitInternal
wird nicht an anderer Stelle verwendet. Lesen Sie die Dokumentation für STAThreadAttribute
(Hervorhebung von mir):
Wenden Sie dieses Attribut auf die Einstiegspunktmethode an (die Methode
Main()
in C # und Visual Basic). Sie hat keine Auswirkungen auf andere Methoden. Um den Apartment-Status von Threads festzulegen, die Sie in Ihrem Code starten, verwenden Sie die MethodeThread.SetApartmentState
, bevor Sie den Thread starten.
In diesem Fall sollte das Attribut keine Auswirkung haben.
Es sollte beachtet werden, dass das STA (Single Threaded Apartment) das Threading-Modell ist, das von pre.Net Visual Basic verwendet wird. Es sollte nur für die Main-Methode von Komponenten verwendet werden, die COM ausgesetzt werden. Der Autor des Codes, den Sie zu verstehen versuchen, hat offensichtlich nicht verstanden, wie er verwendet werden soll.
Tags und Links c# multithreading com sta watin