Clone() публичный Метод

public Clone ( ) : Transformation
Результат Transformation
Пример #1
0
        private string FinalizePosterUrl(string source)
        {
            string posterUrl = null;

            if (m_posterUrl != null)
            {
                posterUrl = m_posterUrl.BuildUrl();
            }
            else if (m_posterTransformation != null)
            {
                posterUrl = Clone().Format("jpg").Transform(m_posterTransformation.Clone()).BuildUrl(source);
            }
            else if (m_posterSource != null)
            {
                if (!String.IsNullOrEmpty(m_posterSource))
                {
                    posterUrl = Clone().Format("jpg").BuildUrl(m_posterSource);
                }
            }
            else
            {
                posterUrl = Clone().Format("jpg").BuildUrl(source);
            }

            return(posterUrl);
        }
Пример #2
0
        private void AppendVideoSources(StringBuilder sb, string source, string sourceType)
        {
            var sourceUrl = Clone();

            if (m_sourceTransforms != null)
            {
                Transformation sourceTransformation = null;
                if (m_sourceTransforms.TryGetValue(sourceType, out sourceTransformation) && sourceTransformation != null)
                {
                    if (sourceUrl.m_transformation == null)
                    {
                        sourceUrl.Transform(sourceTransformation.Clone());
                    }
                    else
                    {
                        sourceUrl.m_transformation.Chain();
                        var newTransform = sourceTransformation.Clone();
                        newTransform.NestedTransforms.AddRange(sourceUrl.m_transformation.NestedTransforms);
                        sourceUrl.Transform(newTransform);
                    }
                }
            }

            var src       = sourceUrl.Format(sourceType).BuildUrl(source);
            var videoType = sourceType;

            if (sourceType.Equals("ogv", StringComparison.OrdinalIgnoreCase))
            {
                videoType = "ogg";
            }
            string mimeType = "video/" + videoType;

            sb.Append("<source src='").Append(src).Append("' type='").Append(mimeType).Append("'>");
        }
Пример #3
0
        public Url Clone()
        {
            var url = (Url)MemberwiseClone();

            if (m_transformation != null)
            {
                url.m_transformation = m_transformation.Clone();
            }
            if (m_posterTransformation != null)
            {
                url.m_posterTransformation = m_posterTransformation.Clone();
            }
            if (m_posterUrl != null)
            {
                url.m_posterUrl = m_posterUrl.Clone();
            }
            if (m_sourceTypes != null)
            {
                url.m_sourceTypes = new string[m_sourceTypes.Length];
                Array.Copy(m_sourceTypes, url.m_sourceTypes, m_sourceTypes.Length);
            }
            if (m_sourceTransforms != null)
            {
                url.m_sourceTransforms = new Dictionary <string, Transformation>();
                foreach (var sourceTransform in m_sourceTransforms)
                {
                    url.m_sourceTransforms.Add(sourceTransform.Key, sourceTransform.Value.Clone());
                }
            }
            url.m_customParts = new List <string>(m_customParts);
            return(url);
        }
Пример #4
0
        /// <summary>
        /// Creates a new object that is a deep copy of the current instance.
        /// </summary>
        /// <returns>
        /// A new object that is a deep copy of this instance.
        /// </returns>
        public Url Clone()
        {
            Url newUrl = (Url)this.MemberwiseClone();

            if (m_transformation != null)
            {
                newUrl.m_transformation = this.m_transformation.Clone();
            }

            if (m_posterTransformation != null)
            {
                newUrl.m_posterTransformation = m_posterTransformation.Clone();
            }

            if (m_posterUrl != null)
            {
                newUrl.m_posterUrl = m_posterUrl.Clone();
            }

            if (m_sourceTypes != null)
            {
                newUrl.m_sourceTypes = new string[m_sourceTypes.Length];
                Array.Copy(m_sourceTypes, newUrl.m_sourceTypes, m_sourceTypes.Length);
            }

            if (m_sourceTransforms != null)
            {
                newUrl.m_sourceTransforms = new Dictionary <string, Transformation>();
                foreach (var item in m_sourceTransforms)
                {
                    newUrl.m_sourceTransforms.Add(item.Key, item.Value.Clone());
                }
            }

            newUrl.m_customParts = new List <string>(m_customParts);

            return(newUrl);
        }