2017-03-05 37 views

回答

2

我不太确定问题是什么 - 您发布的代码只是一个索引器属性。在该属性的主体中,您可以锁定与其他任何属性或方法中相同的对象。

class a 
{ 
    private readonly object _lock = new object(); 
    public bool this[int index] 
    { 
     get 
     { 
      lock (_lock) 
      { 
       return ...; 
      } 
     } 
     set 
     { 
      lock (_lock) 
      { 
       ... = value 
      } 
     } 
    } 

    public string AMethod() 
    { 
     lock (_lock) 
     { 
      return ...; 
     } 
    } 
} 
+0

好吧,由于某种原因,我在印象之下,你可以锁定一个函数被调用,但它似乎并非如此。这正是我要找的,谢谢。 – BWG

+0

轻微的术语改进:您不能锁定_properties_,您锁定_objects_。 – Psi

相关问题