1 //------------------------------------------------------------------------------
2 // <copyright file="DateTimeSerializationSection.cs" company="Microsoft Corporation">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">[....]</owner>
6 //------------------------------------------------------------------------------
8 namespace System.Xml.Serialization.Configuration
11 using System.Configuration;
12 using System.ComponentModel;
13 using System.Globalization;
14 using System.Reflection;
16 public sealed class DateTimeSerializationSection : ConfigurationSection
18 public enum DateTimeSerializationMode
25 public DateTimeSerializationSection()
27 this.properties.Add(this.mode);
30 protected override ConfigurationPropertyCollection Properties
34 return this.properties;
38 [ConfigurationProperty(ConfigurationStrings.Mode, DefaultValue=DateTimeSerializationMode.Roundtrip)]
39 public DateTimeSerializationMode Mode
41 get { return (DateTimeSerializationMode) this[this.mode]; }
42 set { this[this.mode] = value; }
45 ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
47 // Supply a type converter, even though it's a plain type converter, to get around ConfigurationProperty's internal
48 // Enum conversion routine. The internal one is case-sensitive, we want this to be case-insensitive.
49 readonly ConfigurationProperty mode =
50 new ConfigurationProperty(ConfigurationStrings.Mode, typeof(DateTimeSerializationMode), DateTimeSerializationMode.Roundtrip,
51 new EnumConverter(typeof(DateTimeSerializationMode)), null, ConfigurationPropertyOptions.None);