示例#1
0
        /// <inheritdoc/>
        public void Detach(TTarget targetObject)
        {
            if (TargetObject == null || !TargetObject.Equals <TTarget>(targetObject))
            {
                return;
            }

            DetachItems();

            WritePreamble();
            _targetObject = null;
            WritePostscript();
        }
示例#2
0
        /// <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();
        }