迷惑,可能遗漏了一些简单的东西..
我有
var q = new Queue<object>();
lock (q.SyncRoot)
{
    ...
}我得到了
Queue<T> does not provide a defintion for SyncRoot blah blah...但是,Queue<T>实现了ICollection,它将SyncRoot定义为公共属性。
那么,首先,为什么这是隐藏的。其次,如何隐藏正在实现的接口的属性?
发布于 2012-10-05 21:02:14
这是“explicit interface implementation”的一个例子。
显式实现接口时,只能通过该实例的该类型的引用访问该方法。换句话说,如果将Queue转换为ICollection,您将看到同步根成员。
https://stackoverflow.com/questions/12746772
复制相似问题