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) }; }
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))); }