感到困惑,可能缺少一些简单的方法。
我有
var q = new Queue<object>();
lock (q.SyncRoot)
{
...
}
我懂了
Queue<T> does not provide a defintion for SyncRoot blah blah...
但是,
Queue<T>
实现了ICollection
,它将SyncRoot
定义为公共(public)属性。因此,首先,为什么要隐藏它。其次,如何隐藏正在实现的接口(interface)的属性?
最佳答案
您可以通过implementing it explicitly隐藏该属性:
object MyQueue.SyncRoot { get; set; }
它是隐藏的because it's deprecated:
关于c# - 如何/为什么SyncRoot隐藏在Queue <T>上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12746772/