/// <summary> /// Вызывается при копировании объекта. /// <para>Выполняет заполнение копии объекта <paramref name="copy"/>.</para> /// <para>Связь данного элемента с объектом метаданных (<seealso cref="MetadataTreeElementBase.MetadataLink"/>) в объект <paramref name="copy"/> не копируется.</para> /// </summary> /// <param name="args">Параметры копирования.</param> /// <param name="copy">Копия объекта.</param> protected sealed override void PopulateCopy(CopyArgs args, MetadataTreeElementBase copy) { var locCopy = copy.EnsureNotNull(nameof(copy)).EnsureOfType <MetadataTreeElementBase, EmbeddedMetadataTreeElement>().Value; // locCopy._embeddedMetadata = null; PopulateCopy(args, locCopy); base.PopulateCopy(args, copy); }
/// <summary> /// Вызывается при копировании объекта. /// <para>Выполняет заполнение копии объекта <paramref name="copy"/>.</para> /// <para>Связь данного элемента с объектом метаданных (<seealso cref="MetadataLink"/>) в объект <paramref name="copy"/> не копируется.</para> /// </summary> /// <param name="args">Параметры копирования.</param> /// <param name="copy">Копия объекта.</param> protected virtual void PopulateCopy(CopyArgs args, MetadataTreeElementBase copy) { copy.EnsureNotNull(nameof(copy)); // if (args.Node != null) { var link = new Link <IMetadataTreeNode, IMetadataTreeElement>(args.Node, copy); copy.WriteDA(ref copy._nodeLink, link); args.Node.SetMetadataElement(link); } }