Sel*_*ürk 2 c# locking readonly
我可以在运行时锁定/解锁字段或对象以防写入吗?换句话说,就像在运行时临时将对象更改为只读一样......
例如:
int x = 5; // x is 5
LockObject(x);
x = 7; // no change
UnlockObject(x);
x = 10; // x is 10
Run Code Online (Sandbox Code Playgroud)
如果没有,你能给我一些可能的解决方案吗?
您可以使用访问器来执行此操作...
public class X
{
private bool locked = false;
private int lockedVar;
public int LockedVar
{
get { return lockedVar; }
set { if (!locked) lockedVar = value; }
}
public void LockObject() { locked = true; }
public void UnlockObject() { locked = false; }
}
Run Code Online (Sandbox Code Playgroud)