Wo sind CLR-definierte Methoden wie [delegate] .BeginInvoke dokumentiert? [geschlossen]
[BEARBEITEN, komplett umformuliert:] Scheint, als wäre meine Frage in der Tat schlecht formuliert und auch schlecht aufgenommen worden. Ich hoffe also, dass diese vollständige Neuformulierung hilft ...
MSDN sagt klar spezifiziert:Control.BeginInvoke () Führt einen Delegaten für den Thread aus, für den das Handle des Steuerelements erstellt wurde. Normalerweise ist dies der GUI-Thread. UndDispatcher.BeginInvoke () wird auf dem Thread ausgeführt, auf dem das Dispatcher-Objekt erstellt wurde. Dies wäre jeder von mir erstellte Thread.
Aber für Delegierte"dasCLR definiert automatisch BeginInvoke und EndInvoke " und diese Aufrufe werden stattdessen auf einem ThreadPool-Thread ausgeführt. Abgesehen von diesem etwas überraschenden Verhalten frage ich mich, wie ich die Spezifikationen aller Funktionen finden kann, die automatisch implementiert werden.
Beispiel: Intelli-sense zeigt, dass mein Stellvertreter über ein DynamicInvoke () verfügt. KlasseSystem.Delegate {} hat ein DynamicInvoke (), was bedeuten könnte, dass mein Delegat es erbt. Aber Delegate {} hat kein BeginInvoke (). Und Stellvertreter {} hat mehrere Funktionen, die mein Stellvertreter nicht hat. Mein Delegat erhält auch eine GetObjectData () -Methode. Und das scheint von ISerializable zu kommen.
Zusammenfassend ergibt sich, dass ein Delegat seine Methoden aus (1) der CLR "automatisch", (2) einer Teilmenge von Delegate {} möglicherweise MulticastDelegate {} und möglicherweise (3) ISerializble bezieht.Wo finde ich eine umfassende Beschreibung aller Methoden, die ein Delegierter erhält? Besonders interessant ist BeginInvoke (), und es ist die genaue Signatur, da die beiden zuvor genannten Methoden mit diesem Namen unterschiedliche Sätze von Signaturen haben.
[Jemand hat in einer Bearbeitung vorgeschlagen, dass ein "Delegierter" ein "Delegierter" ist. Ich glaube nicht.]
Vielen Dank