CloudinaryDotNet.Url.Clone C# (CSharp) Метод

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

Creates a new object that is a deep copy of the current instance.
public Clone ( ) : Url
Результат Url
        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;
        }

Usage Example

Пример #1
0
        private static void AppendVideoSources(this Url url2, StringBuilder sb, string source, string sourceType)
        {
            var url = url2.Clone();

            if (url2.m_sourceTransforms != null)
            {
                Transformation transformation1;
                if (url2.m_sourceTransforms.TryGetValue(sourceType, out transformation1) && transformation1 != null)
                {
                    if (url.m_transformation == null)
                    {
                        url.Transform(transformation1.Clone());
                    }
                    else
                    {
                        url.m_transformation.Chain();
                        var transformation2 = transformation1.Clone();
                        transformation2.NestedTransforms.AddRange(url.m_transformation.NestedTransforms);
                        url.Transform(transformation2);
                    }
                }
            }
            var str1 = url.Format(sourceType).BuildUrl(source);
            var str2 = sourceType;

            if (sourceType.Equals("ogv", StringComparison.OrdinalIgnoreCase))
            {
                str2 = "ogg";
            }
            var str3 = "video/" + str2;

            sb.Append("<source src='").Append(str1).Append("' type='").Append(str3).Append("'>");
        }
All Usage Examples Of CloudinaryDotNet.Url::Clone