PrivacyNoticeElement.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System.Configuration;
  7. using System.ServiceModel;
  8. using System.ServiceModel.Channels;
  9. public partial class PrivacyNoticeElement : BindingElementExtensionElement
  10. {
  11. [ConfigurationProperty(ConfigurationStrings.Url)]
  12. public Uri Url
  13. {
  14. get { return (Uri)base[ConfigurationStrings.Url]; }
  15. set { base[ConfigurationStrings.Url] = value; }
  16. }
  17. [ConfigurationProperty(ConfigurationStrings.Version, DefaultValue = 0)]
  18. [IntegerValidator(MinValue = 0)]
  19. public int Version
  20. {
  21. get { return (int)base[ConfigurationStrings.Version]; }
  22. set { base[ConfigurationStrings.Version] = value; }
  23. }
  24. public override Type BindingElementType
  25. {
  26. get { return typeof( PrivacyNoticeBindingElement ); }
  27. }
  28. public override void ApplyConfiguration(BindingElement bindingElement)
  29. {
  30. base.ApplyConfiguration(bindingElement);
  31. PrivacyNoticeBindingElement binding = (PrivacyNoticeBindingElement)bindingElement;
  32. binding.Url = this.Url;
  33. binding.Version = this.Version;
  34. }
  35. protected internal override BindingElement CreateBindingElement()
  36. {
  37. PrivacyNoticeBindingElement binding = new PrivacyNoticeBindingElement();
  38. this.ApplyConfiguration(binding);
  39. return binding;
  40. }
  41. public override void CopyFrom(ServiceModelExtensionElement from)
  42. {
  43. base.CopyFrom(from);
  44. PrivacyNoticeElement source = (PrivacyNoticeElement) from;
  45. #pragma warning suppress 56506 // [....], base.CopyFrom() validates the argument
  46. this.Url = source.Url;
  47. this.Version = source.Version;
  48. }
  49. protected internal override void InitializeFrom(BindingElement bindingElement)
  50. {
  51. base.InitializeFrom(bindingElement);
  52. PrivacyNoticeBindingElement binding = (PrivacyNoticeBindingElement)bindingElement;
  53. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Url, binding.Url);
  54. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Version, binding.Version);
  55. }
  56. }
  57. }