public void Undo() { _Detour.Undo(); if (!IsValid) { _Free(); } }
public void Undo() { if (!IsValid) { throw new InvalidOperationException("This hook has been undone."); } _Detour.Undo(); if (!IsValid) { _Free(); } }
public void Undo() { if (!(OnUndo?.InvokeWhileTrue(this) ?? true)) { return; } _Detour.Undo(); if (!IsValid) { _Free(); } }
public void Undo() { if (!IsValid) { throw new ObjectDisposedException(nameof(Hook)); } if (IsApplied && !(OnUndo?.InvokeWhileTrue(this) ?? true)) { return; } _Detour.Undo(); if (!IsValid) { _Free(); } }