Ejemplo n.º 1
0
 public XmlSerializerSettings()
 {
     converters = new XmlConverterCollection();
     converters.CollectionChanged += (sender, ea) => typeContextCache.Clear();
     typeContextCache              = new ConcurrentDictionary <Type, XmlTypeContext>();
     typeResolver                   = new XmlTypeResolver();
     contractResolver               = new XmlContractResolver();
     cultureInfo                    = CultureInfo.InvariantCulture;
     typeAttributeName              = new XmlName("type", XmlNamespace.Xsi);
     nullAttributeName              = new XmlName("nil", XmlNamespace.Xsi);
     encoding                       = Encoding.UTF8;
     TypeHandling                   = XmlTypeHandling.Auto;
     NullValueHandling              = XmlNullValueHandling.Ignore;
     NoneValueHandling              = XmlNoneValueHandling.Ignore;
     DefaultValueHandling           = XmlDefaultValueHandling.Include;
     ReferenceHandling              = XmlReferenceHandling.Throw;
     ReferenceHandlingIdName        = "id";
     ReferenceHandlingReferenceName = "ref";
     ReferenceHandlingGenerator     = new ObjectIDGenerator();
     EmptyCollectionHandling        = XmlEmptyCollectionHandling.Include;
     omitXmlDeclaration             = false;
     indentChars                    = "  ";
     indent     = false;
     namespaces = new List <XmlNamespace>
     {
         new XmlNamespace("xsi", XmlNamespace.Xsi)
     };
 }
Ejemplo n.º 2
0
        public XmlCustomContractResolver(IEnumerable <XmlContract> contracts, IXmlContractResolver fallbackResolver)
        {
            if (contracts == null)
            {
                throw new ArgumentNullException("contracts");
            }

            this.fallbackResolver = fallbackResolver;
            this.contracts        = new Dictionary <Type, XmlContract>();

            foreach (var contract in contracts)
            {
                this.contracts.Add(contract.ValueType, contract);
            }
        }
 public static XmlContract ResolveContract <TValue>(this IXmlContractResolver contractResolver)
 {
     return(contractResolver.ResolveContract(typeof(TValue)));
 }