ZeroInstall.Store.Model.Element.CloneFromTo C# (CSharp) Method

CloneFromTo() protected static method

Copies all known values from one instance to another. Helper method for instance cloning.
protected static CloneFromTo ( [ from, [ to ) : void
from [
to [
return void
        protected static void CloneFromTo([NotNull] Element from, [NotNull] Element to)
        {
            #region Sanity checks
            if (from == null) throw new ArgumentNullException(nameof(@from));
            if (to == null) throw new ArgumentNullException(nameof(to));
            #endregion

            TargetBase.CloneFromTo(from, to);
            to.Version = from.Version;
            to.VersionModifier = from.VersionModifier;
            to.Released = from.Released;
            to.ReleasedVerbatim = from.ReleasedVerbatim;
            to.Stability = from.Stability;
            to.License = from.License;
            to.Main = from.Main;
            to.SelfTest = from.SelfTest;
            to.DocDir = from.DocDir;
            to.Commands.AddRange(from.Commands.CloneElements());
            to.Dependencies.AddRange(from.Dependencies.CloneElements());
            to.Restrictions.AddRange(from.Restrictions.CloneElements());
            to.Bindings.AddRange(from.Bindings.CloneElements());
        }
        #endregion

Usage Example

Example #1
0
        //--------------------//

        #region Clone
        /// <summary>
        /// Copies all known values from one instance to another. Helper method for instance cloning.
        /// </summary>
        protected static void CloneFromTo([NotNull] ImplementationBase from, [NotNull] ImplementationBase to)
        {
            #region Sanity checks
            if (from == null)
            {
                throw new ArgumentNullException("from");
            }
            if (to == null)
            {
                throw new ArgumentNullException("to");
            }
            #endregion

            Element.CloneFromTo(from, to);
            to.ID             = from.ID;
            to.LocalPath      = from.LocalPath;
            to.ManifestDigest = from.ManifestDigest;
        }