System.Xml.Schema.NamespaceList.Clone C# (CSharp) Method

Clone() public method

public Clone ( ) : NamespaceList
return NamespaceList
        public NamespaceList Clone() {
            NamespaceList nsl = (NamespaceList)MemberwiseClone();
            if (type == ListType.Set) {
                Debug.Assert(set != null);
                nsl.set = (Hashtable)(set.Clone());
            }
            return nsl;
        }

Usage Example

Esempio n. 1
0
        public static NamespaceList Intersection(NamespaceList o1, NamespaceList o2)
        {
            NamespaceList nslist = null;

            if (o1.type == ListType.Any)
            {
                nslist = o2.Clone();
            }
            else if (o2.type == ListType.Any)
            {
                nslist = o1.Clone();
            }
            else if (o1.type == ListType.Other && o2.type == ListType.Other)
            {
                if (o1.targetNamespace == o2.targetNamespace)
                {
                    nslist = o1.Clone();
                }
            }
            else if (o1.type == ListType.Set && o2.type == ListType.Set)
            {
                nslist      = o1.Clone();
                nslist      = new NamespaceList();
                nslist.type = ListType.Set;
                nslist.set  = new Hashtable();
                foreach (string ns in o1.set.Keys)
                {
                    if (o2.set.Contains(ns))
                    {
                        nslist.set.Add(ns, ns);
                    }
                }
            }
            else if (o1.type == ListType.Set && o2.type == ListType.Other)
            {
                nslist = o1.Clone();
                if (nslist.set[o2.targetNamespace] != null)
                {
                    nslist.set.Remove(o2.targetNamespace);
                }
            }
            else if (o2.type == ListType.Set && o1.type == ListType.Other)
            {
                nslist = o2.Clone();
                if (nslist.set[o1.targetNamespace] != null)
                {
                    nslist.set.Remove(o1.targetNamespace);
                }
            }
            return(nslist);
        }
All Usage Examples Of System.Xml.Schema.NamespaceList::Clone