You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems like VSTHRD010 will flag methods that define delegates that call ThreadHelper.ThrowIfNotOnUIThread, though the method itself does not invoke the delegate.
Repro steps
abstractclassFoo{Foo(){this.RefreshCommand=newRelayCommand(execute:(objectparam)=>{ThreadHelper.ThrowIfNotOnUIThread();StartForceRefreshRequest(param);}canExecute:(_)=>{ThreadHelper.ThrowIfNotOnUIThread();returnCanExecuteForceRefreshCommand();});}}class Bar : Foo
{
Bar():base(){// analyzer flags this constructor with the warning:// VSTHRD010: Accessing "Foo..ctor" should only be done on the main thread}}
Expected behavior
No threading analyzer warning for the described case.
Actual behavior
Threading analyzer fires warning.
Version used: latest (v17.11.20)
Additional context
I have not extensively verified the exact conditions for this, but I have verified that removing the thread-affinitized delegate prevents the analyzer warning.
The text was updated successfully, but these errors were encountered:
Bug description
It seems like VSTHRD010 will flag methods that define delegates that call
ThreadHelper.ThrowIfNotOnUIThread
, though the method itself does not invoke the delegate.Repro steps
Expected behavior
No threading analyzer warning for the described case.
Actual behavior
Threading analyzer fires warning.
Additional context
I have not extensively verified the exact conditions for this, but I have verified that removing the thread-affinitized delegate prevents the analyzer warning.
The text was updated successfully, but these errors were encountered: