示例#1
0
        internal void AddKeyHash(System.Text.StringBuilder sb)
        {
            sb.Append("XA ");

            KeyHelper.AddField(sb, 1, xmlIgnore);
            KeyHelper.AddField(sb, 2, xmlns);
            KeyHelper.AddField(sb, 3, xmlAnyAttribute != null);

            xmlAnyElements.AddKeyHash(sb);
            xmlArrayItems.AddKeyHash(sb);
            xmlElements.AddKeyHash(sb);

            if (xmlArray != null)
            {
                xmlArray.AddKeyHash(sb);
            }

            if (xmlAttribute != null)
            {
                xmlAttribute.AddKeyHash(sb);
            }

            if (xmlDefaultValue == null)
            {
                sb.Append("n");
            }
            else if (!(xmlDefaultValue is System.DBNull))
            {
                string v = XmlCustomFormatter.ToXmlString(TypeTranslator.GetTypeData(xmlDefaultValue.GetType()), xmlDefaultValue);
                sb.Append("v" + v);
            }

            if (xmlEnum != null)
            {
                xmlEnum.AddKeyHash(sb);
            }

            if (xmlRoot != null)
            {
                xmlRoot.AddKeyHash(sb);
            }

            if (xmlText != null)
            {
                xmlText.AddKeyHash(sb);
            }

            if (xmlType != null)
            {
                xmlType.AddKeyHash(sb);
            }

            if (xmlChoiceIdentifier != null)
            {
                xmlChoiceIdentifier.AddKeyHash(sb);
            }

            sb.Append("|");
        }
 public XmlTypeSerializationSource(Type type, XmlRootAttribute root, XmlAttributeOverrides attributeOverrides, string namspace, Type[] includedTypes) : base(namspace, includedTypes)
 {
     if (attributeOverrides != null)
     {
         StringBuilder stringBuilder = new StringBuilder();
         attributeOverrides.AddKeyHash(stringBuilder);
         this.attributeOverridesHash = stringBuilder.ToString();
     }
     if (root != null)
     {
         StringBuilder stringBuilder2 = new StringBuilder();
         root.AddKeyHash(stringBuilder2);
         this.rootHash = stringBuilder2.ToString();
     }
     this.type = type;
 }
示例#3
0
        public XmlTypeSerializationSource(Type type, XmlRootAttribute root, XmlAttributeOverrides attributeOverrides, string namspace, ArrayList includedTypes)
            : base(namspace, includedTypes)
        {
            if (attributeOverrides != null)
            {
                StringBuilder sb = new StringBuilder();
                attributeOverrides.AddKeyHash(sb);
                attributeOverridesHash = sb.ToString();
            }

            if (root != null)
            {
                StringBuilder sb = new StringBuilder();
                root.AddKeyHash(sb);
                rootHash = sb.ToString();
            }

            this.type = type;
        }
		public XmlTypeSerializationSource (Type type, XmlRootAttribute root, XmlAttributeOverrides attributeOverrides, string namspace, ArrayList includedTypes)
		: base (namspace, includedTypes)
		{
			if (attributeOverrides != null) {
				StringBuilder sb = new StringBuilder ();
				attributeOverrides.AddKeyHash (sb);
				attributeOverridesHash = sb.ToString ();
			}
			
			if (root != null) {
				StringBuilder sb = new StringBuilder ();
				root.AddKeyHash (sb);
				rootHash = sb.ToString ();
			}
				
			this.type = type;
		}