예제 #1
0
        private SerializationMap RegisterIXmlSerializable(Type type)
        {
            if (type.GetInterface("System.Xml.Serialization.IXmlSerializable") == null)
            {
                return(null);
            }

            QName qname = GetSerializableQName(type);

            if (FindUserMap(qname) != null)
            {
                throw new InvalidOperationException(String.Format("There is already a registered type for XML name {0}", qname));
            }

            XmlSerializableMap ret = new XmlSerializableMap(type, qname, this);

            contracts.Add(ret);

            return(ret);
        }