/// <inheritdoc/> public void Detach(TTarget targetObject) { if (TargetObject == null || !TargetObject.Equals <TTarget>(targetObject)) { return; } DetachItems(); WritePreamble(); _targetObject = null; WritePostscript(); }
/// <inheritdoc/> public void Attach(TTarget targetObject) { if (TargetObject.Equals <TTarget>(targetObject)) { return; } if (TargetObject != null) { throw new InvalidOperationException(Strings.AttachableCannotTargetMultipleObjects); } WritePreamble(); _targetObject = targetObject; WritePostscript(); AttachItems(); }