namespace VisionCommon { public abstract class PatternBase : IDirtyChecker { private object _lock = new object(); private bool _isDirty = false; public bool IsDirty() { lock (_lock) { return _isDirty; } } public void SetDirty() { lock (_lock) { _isDirty = true; } } public void CleanDirty() { lock (_lock) { _isDirty = false; } } } }