1 //------------------------------------------------------------------------------
2 // <copyright file="SchemaImporterExtensionsSection.cs" company="Microsoft Corporation">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">Microsoft</owner>
6 //------------------------------------------------------------------------------
8 namespace System
.Xml
.Serialization
.Configuration
10 using System
.Configuration
;
11 using System
.Collections
;
12 using System
.Globalization
;
13 using System
.Reflection
;
14 using System
.Threading
;
15 using System
.Xml
.Serialization
.Advanced
;
17 public sealed class SchemaImporterExtensionsSection
: ConfigurationSection
19 public SchemaImporterExtensionsSection()
21 this.properties
.Add(this.schemaImporterExtensions
);
24 private static string GetSqlTypeSchemaImporter(string typeName
) {
25 return "System.Data.SqlTypes." + typeName
+ ", " + AssemblyRef
.SystemData
;
28 protected override void InitializeDefault()
31 this.SchemaImporterExtensions
.Add(
32 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterChar
, GetSqlTypeSchemaImporter("TypeCharSchemaImporterExtension")));
33 this.SchemaImporterExtensions
.Add(
34 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterNChar
, GetSqlTypeSchemaImporter("TypeNCharSchemaImporterExtension")));
35 this.SchemaImporterExtensions
.Add(
36 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterVarChar
, GetSqlTypeSchemaImporter("TypeVarCharSchemaImporterExtension")));
37 this.SchemaImporterExtensions
.Add(
38 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterNVarChar
, GetSqlTypeSchemaImporter("TypeNVarCharSchemaImporterExtension")));
39 this.SchemaImporterExtensions
.Add(
40 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterText
, GetSqlTypeSchemaImporter("TypeTextSchemaImporterExtension")));
41 this.SchemaImporterExtensions
.Add(
42 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterNText
, GetSqlTypeSchemaImporter("TypeNTextSchemaImporterExtension")));
43 this.SchemaImporterExtensions
.Add(
44 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterVarBinary
, GetSqlTypeSchemaImporter("TypeVarBinarySchemaImporterExtension")));
45 this.SchemaImporterExtensions
.Add(
46 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterBinary
, GetSqlTypeSchemaImporter("TypeBinarySchemaImporterExtension")));
47 this.SchemaImporterExtensions
.Add(
48 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterImage
, GetSqlTypeSchemaImporter("TypeVarImageSchemaImporterExtension")));
49 this.SchemaImporterExtensions
.Add(
50 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterDecimal
, GetSqlTypeSchemaImporter("TypeDecimalSchemaImporterExtension")));
51 this.SchemaImporterExtensions
.Add(
52 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterNumeric
, GetSqlTypeSchemaImporter("TypeNumericSchemaImporterExtension")));
53 this.SchemaImporterExtensions
.Add(
54 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterBigInt
, GetSqlTypeSchemaImporter("TypeBigIntSchemaImporterExtension")));
55 this.SchemaImporterExtensions
.Add(
56 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterInt
, GetSqlTypeSchemaImporter("TypeIntSchemaImporterExtension")));
57 this.SchemaImporterExtensions
.Add(
58 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterSmallInt
, GetSqlTypeSchemaImporter("TypeSmallIntSchemaImporterExtension")));
59 this.SchemaImporterExtensions
.Add(
60 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterTinyInt
, GetSqlTypeSchemaImporter("TypeTinyIntSchemaImporterExtension")));
61 this.SchemaImporterExtensions
.Add(
62 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterBit
, GetSqlTypeSchemaImporter("TypeBitSchemaImporterExtension")));
63 this.SchemaImporterExtensions
.Add(
64 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterFloat
, GetSqlTypeSchemaImporter("TypeFloatSchemaImporterExtension")));
65 this.SchemaImporterExtensions
.Add(
66 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterReal
, GetSqlTypeSchemaImporter("TypeRealSchemaImporterExtension")));
67 this.SchemaImporterExtensions
.Add(
68 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterDateTime
, GetSqlTypeSchemaImporter("TypeDateTimeSchemaImporterExtension")));
69 this.SchemaImporterExtensions
.Add(
70 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterSmallDateTime
, GetSqlTypeSchemaImporter("TypeSmallDateTimeSchemaImporterExtension")));
71 this.SchemaImporterExtensions
.Add(
72 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterMoney
, GetSqlTypeSchemaImporter("TypeMoneySchemaImporterExtension")));
73 this.SchemaImporterExtensions
.Add(
74 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterSmallMoney
, GetSqlTypeSchemaImporter("TypeSmallMoneySchemaImporterExtension")));
75 this.SchemaImporterExtensions
.Add(
76 new SchemaImporterExtensionElement(ConfigurationStrings
.SqlTypesSchemaImporterUniqueIdentifier
, GetSqlTypeSchemaImporter("TypeUniqueIdentifierSchemaImporterExtension")));
79 protected override ConfigurationPropertyCollection Properties
81 get { return this.properties; }
84 [ConfigurationProperty("", IsDefaultCollection
= true)]
85 public SchemaImporterExtensionElementCollection SchemaImporterExtensions
87 get { return (SchemaImporterExtensionElementCollection)this[this.schemaImporterExtensions]; }
90 internal SchemaImporterExtensionCollection SchemaImporterExtensionsInternal
{
92 SchemaImporterExtensionCollection extensions
= new SchemaImporterExtensionCollection();
93 foreach(SchemaImporterExtensionElement elem
in this.SchemaImporterExtensions
) {
94 extensions
.Add(elem
.Name
, elem
.Type
);
101 ConfigurationPropertyCollection properties
= new ConfigurationPropertyCollection();
103 readonly ConfigurationProperty schemaImporterExtensions
=
104 new ConfigurationProperty(null, typeof(SchemaImporterExtensionElementCollection
), null,
105 ConfigurationPropertyOptions
.IsDefaultCollection
);