class MyClass
{
Lock _innerLockObject
SomeType _value
public void SetSomeProp (SomeType value)
{
_innerLockObject.Lock()
_value = value;
_innerLockObject.Unlock() //defer
}
public SomeType GetSomeProp()
{
SomeType result;
_innerLockObject.Lock()
result = _value;
_innerLockObject.Unlock() //defer
return result;
}
}