我正在创建一个C#dll,它将被WinForms中的其他开发人员使用.出于某些原因,我想检测,如果来自此库的方法是从Main(GUI)线程调用的,并警告开发人员他已经完成了这样的事情(即在日志文件中).有没有合理的方法从主线程中检测调用方法?请记住,我无权访问WinForm应用程序.
在这种情况下,一个简单的解决方案是在主UI线程上创建的库程序集中声明静态控件.如果要检测是否从主线程调用库,请使用以下命令
if (MyLibraryControl.InvokeRequired) //do your thing here