private ObjectAccessGuard(ObjectThreadTracker objectThreadTracker, string methodName) { this.isDisposed = false; this.objectThreadTracker = null; this.testHook = null; if (ObjectAccessGuard.testHookFactory.Value != null) { this.testHook = ObjectAccessGuard.testHookFactory.Value(objectThreadTracker, methodName); return; } if (objectThreadTracker == null) { throw new ArgumentNullException("objectThreadTracker"); } this.objectThreadTracker = objectThreadTracker; this.objectThreadTracker.Enter(methodName); }
public static ObjectAccessGuard Create(ObjectThreadTracker objectThreadTracker, string methodName) { return(new ObjectAccessGuard(objectThreadTracker, methodName)); }