Confused and might be missing something simple..
I’ve got
var q = new Queue<object>();
lock (q.SyncRoot)
{
...
}
I get
Queue<T> does not provide a defintion for SyncRoot blah blah...
but, Queue<T> implements ICollection which defines SyncRoot as a public property.
So, first of all, why is this hidden. Second, how can you hide a property of an interface you’re implementing?
You can hide the property by implementing it explicitly:
It is hidden because it’s deprecated: