因为做的是一个通用DLL,需要在A办法里判断,而调用的B是不是线程安全的,所以要用委托等访问主线程,而DLL本身是可能被运行于线程中的类似这种逻辑void A()
{
if 宿主是winform exe
{
进程当前的form.Invoke((Action)(() =>{调用B();}));
}
else if 宿主是wpf exe
{
进程当前的App.Current.Dispatcher.Invoke((Action)(() =>{调用B();}));
}
}
{
if 宿主是winform exe
{
进程当前的form.Invoke((Action)(() =>{调用B();}));
}
else if 宿主是wpf exe
{
进程当前的App.Current.Dispatcher.Invoke((Action)(() =>{调用B();}));
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货