SchemaImporterExtensionsSection.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. //------------------------------------------------------------------------------
  2. // <copyright file="SchemaImporterExtensionsSection.cs" company="Microsoft Corporation">
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. // </copyright>
  5. // <owner current="true" primary="true">Microsoft</owner>
  6. //------------------------------------------------------------------------------
  7. #if CONFIGURATION_DEP
  8. namespace System.Xml.Serialization.Configuration
  9. {
  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;
  16. public sealed class SchemaImporterExtensionsSection : ConfigurationSection
  17. {
  18. public SchemaImporterExtensionsSection()
  19. {
  20. this.properties.Add(this.schemaImporterExtensions);
  21. }
  22. private static string GetSqlTypeSchemaImporter(string typeName) {
  23. return "System.Data.SqlTypes." + typeName + ", " + AssemblyRef.SystemData;
  24. }
  25. protected override void InitializeDefault()
  26. {
  27. this.SchemaImporterExtensions.Add(
  28. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterChar, GetSqlTypeSchemaImporter("TypeCharSchemaImporterExtension")));
  29. this.SchemaImporterExtensions.Add(
  30. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterNChar, GetSqlTypeSchemaImporter("TypeNCharSchemaImporterExtension")));
  31. this.SchemaImporterExtensions.Add(
  32. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterVarChar, GetSqlTypeSchemaImporter("TypeVarCharSchemaImporterExtension")));
  33. this.SchemaImporterExtensions.Add(
  34. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterNVarChar, GetSqlTypeSchemaImporter("TypeNVarCharSchemaImporterExtension")));
  35. this.SchemaImporterExtensions.Add(
  36. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterText, GetSqlTypeSchemaImporter("TypeTextSchemaImporterExtension")));
  37. this.SchemaImporterExtensions.Add(
  38. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterNText, GetSqlTypeSchemaImporter("TypeNTextSchemaImporterExtension")));
  39. this.SchemaImporterExtensions.Add(
  40. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterVarBinary, GetSqlTypeSchemaImporter("TypeVarBinarySchemaImporterExtension")));
  41. this.SchemaImporterExtensions.Add(
  42. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterBinary, GetSqlTypeSchemaImporter("TypeBinarySchemaImporterExtension")));
  43. this.SchemaImporterExtensions.Add(
  44. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterImage, GetSqlTypeSchemaImporter("TypeVarImageSchemaImporterExtension")));
  45. this.SchemaImporterExtensions.Add(
  46. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterDecimal, GetSqlTypeSchemaImporter("TypeDecimalSchemaImporterExtension")));
  47. this.SchemaImporterExtensions.Add(
  48. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterNumeric, GetSqlTypeSchemaImporter("TypeNumericSchemaImporterExtension")));
  49. this.SchemaImporterExtensions.Add(
  50. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterBigInt, GetSqlTypeSchemaImporter("TypeBigIntSchemaImporterExtension")));
  51. this.SchemaImporterExtensions.Add(
  52. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterInt, GetSqlTypeSchemaImporter("TypeIntSchemaImporterExtension")));
  53. this.SchemaImporterExtensions.Add(
  54. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterSmallInt, GetSqlTypeSchemaImporter("TypeSmallIntSchemaImporterExtension")));
  55. this.SchemaImporterExtensions.Add(
  56. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterTinyInt, GetSqlTypeSchemaImporter("TypeTinyIntSchemaImporterExtension")));
  57. this.SchemaImporterExtensions.Add(
  58. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterBit, GetSqlTypeSchemaImporter("TypeBitSchemaImporterExtension")));
  59. this.SchemaImporterExtensions.Add(
  60. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterFloat, GetSqlTypeSchemaImporter("TypeFloatSchemaImporterExtension")));
  61. this.SchemaImporterExtensions.Add(
  62. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterReal, GetSqlTypeSchemaImporter("TypeRealSchemaImporterExtension")));
  63. this.SchemaImporterExtensions.Add(
  64. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterDateTime, GetSqlTypeSchemaImporter("TypeDateTimeSchemaImporterExtension")));
  65. this.SchemaImporterExtensions.Add(
  66. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterSmallDateTime, GetSqlTypeSchemaImporter("TypeSmallDateTimeSchemaImporterExtension")));
  67. this.SchemaImporterExtensions.Add(
  68. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterMoney, GetSqlTypeSchemaImporter("TypeMoneySchemaImporterExtension")));
  69. this.SchemaImporterExtensions.Add(
  70. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterSmallMoney, GetSqlTypeSchemaImporter("TypeSmallMoneySchemaImporterExtension")));
  71. this.SchemaImporterExtensions.Add(
  72. new SchemaImporterExtensionElement(ConfigurationStrings.SqlTypesSchemaImporterUniqueIdentifier, GetSqlTypeSchemaImporter("TypeUniqueIdentifierSchemaImporterExtension")));
  73. }
  74. protected override ConfigurationPropertyCollection Properties
  75. {
  76. get { return this.properties; }
  77. }
  78. [ConfigurationProperty("", IsDefaultCollection = true)]
  79. public SchemaImporterExtensionElementCollection SchemaImporterExtensions
  80. {
  81. get { return (SchemaImporterExtensionElementCollection)this[this.schemaImporterExtensions]; }
  82. }
  83. internal SchemaImporterExtensionCollection SchemaImporterExtensionsInternal {
  84. get {
  85. SchemaImporterExtensionCollection extensions = new SchemaImporterExtensionCollection();
  86. foreach(SchemaImporterExtensionElement elem in this.SchemaImporterExtensions) {
  87. extensions.Add(elem.Name, elem.Type);
  88. }
  89. return extensions;
  90. }
  91. }
  92. ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
  93. readonly ConfigurationProperty schemaImporterExtensions =
  94. new ConfigurationProperty(null, typeof(SchemaImporterExtensionElementCollection), null,
  95. ConfigurationPropertyOptions.IsDefaultCollection);
  96. }
  97. }
  98. #endif