visual una studio programa para librerias libreria hacer crear como clases clase biblioteca c# .net winforms multithreading

una - Detectando ejecutarse en Main Thread en la biblioteca de C#



librerias de visual studio 2017 (2)

La opción más simple (si tiene un formulario / control a mano) es marcar InvokeRequired.

En caso de no ser así, podría intentar usar SynchronizationContext para simular una publicación o un envío, y comprobar qué hilo ocurre. Al llamar a Enviar o Enviar se cambiará al subproceso de interfaz de usuario.

Estoy creando un dll C #, que otros desarrolladores usarán en WinForms. Por alguna razón, deseo detectar si los métodos de esta biblioteca se llaman desde el hilo principal (GUI) y advertir al desarrollador que ha hecho algo así (es decir, en el archivo de registro). ¿Hay alguna forma razonable de detectar el método de llamada desde el hilo principal? Recuerde que no tengo acceso a la aplicación WinForm.


Una solución fácil en este caso es declarar un control estático en el conjunto de la biblioteca que se crea en el hilo de la interfaz de usuario principal. Si desea detectar si la biblioteca se llama desde el hilo principal, utilice la siguiente

if (MyLibraryControl.InvokeRequired) //do your thing here