Пример #1
0
        /// <summary>
        /// Вызывается при копировании объекта.
        /// <para>Выполняет заполнение копии объекта <paramref name="copy"/>.</para>
        /// <para>Связь данного элемента с объектом метаданных (<seealso cref="MetadataLink"/>) в объект <paramref name="copy"/> не копируется.</para>
        /// </summary>
        /// <param name="args">Параметры копирования.</param>
        /// <param name="copy">Копия объекта.</param>
        protected sealed override void PopulateCopy(CopyableReadOnlyScopeBase.CopyArgs args, CopyableReadOnlyScopeBase copy)
        {
            var locArgs = args.Arg(nameof(args)).EnsureOfType <CopyableReadOnlyScopeBase.CopyArgs, CopyArgs>().Value;
            var locCopy = copy.EnsureNotNull(nameof(copy)).EnsureOfType <CopyableReadOnlyScopeBase, MetadataTreeElementBase>().Value;

            //
            locCopy._metadataLink = null;
            locCopy._nodeLink     = null;
            PopulateCopy(locArgs, locCopy);
            base.PopulateCopy(args, copy);
        }
Пример #2
0
        protected sealed override void PopulateCopy(CopyableReadOnlyScopeBase.CopyArgs args, CopyableReadOnlyScopeBase copy)
        {
            var locArgs = args.Arg(nameof(args)).EnsureOfType <CopyableReadOnlyScopeBase.CopyArgs, CopyArgs>().Value;
            var locCopy = copy.EnsureNotNull(nameof(copy)).EnsureOfType <CopyableReadOnlyScopeBase, MetadataBase>().Value;

            //
            locCopy.P_Initialize(resetGuid: true);
            //
            PopulateCopy(args: args, copy: locCopy);
            //
            base.PopulateCopy(copyArgs: args, copy: copy);
        }
Пример #3
0
        protected sealed override void PopulateCopy(CopyableReadOnlyScopeBase.CopyArgs args, MetadataTreeStructureComponentBase copy)
        {
            var locArgs =
                args
                .Arg(nameof(args))
                .EnsureOfType <CopyableReadOnlyScopeBase.CopyArgs, CopyArgs>()
                .Value;
            var locCopy =
                copy
                .EnsureNotNull(nameof(copy))
                .EnsureOfType <MetadataTreeStructureComponentBase, MetadataTreeNode>()
                .Value;

            //
            locCopy._children            = new MetadataTreeNodeContainer(locCopy);
            locCopy._inclusions          = new MetadataTreeNodeInclusionContainer(locCopy);
            locCopy._metadataElementLink = null;
            //
            PopulateCopy(locArgs, locCopy);
        }