DataContractSerializerSection.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //-----------------------------------------------------------------------------
  4. namespace System.Runtime.Serialization.Configuration
  5. {
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Configuration;
  9. using System.Globalization;
  10. using System.Security.Permissions;
  11. using System.Security;
  12. public sealed partial class DataContractSerializerSection : ConfigurationSection
  13. {
  14. public DataContractSerializerSection()
  15. : base()
  16. {
  17. }
  18. [Fx.Tag.SecurityNote(Critical = "Elevates in order to get the DataContractSerializerSection config section."
  19. + " Caller should not leak config section instance to untrusted code.")]
  20. [SecurityCritical]
  21. [ConfigurationPermission(SecurityAction.Assert, Unrestricted = true)]
  22. internal static DataContractSerializerSection UnsafeGetSection()
  23. {
  24. DataContractSerializerSection section =
  25. (DataContractSerializerSection)ConfigurationManager.GetSection(ConfigurationStrings.DataContractSerializerSectionPath);
  26. if (section == null)
  27. {
  28. throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigDataContractSerializerSectionLoadError)));
  29. }
  30. return section;
  31. }
  32. [ConfigurationProperty(ConfigurationStrings.DeclaredTypes, DefaultValue = null)]
  33. public DeclaredTypeElementCollection DeclaredTypes
  34. {
  35. get { return (DeclaredTypeElementCollection)base[ConfigurationStrings.DeclaredTypes]; }
  36. }
  37. }
  38. }