MessagingDescriptionAttribute.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //------------------------------------------------------------------------------
  2. // <copyright file="MessagingDescriptionAttribute.cs" company="Microsoft">
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. // </copyright>
  5. //------------------------------------------------------------------------------
  6. using System;
  7. using System.ComponentModel;
  8. using System.Diagnostics.CodeAnalysis;
  9. namespace Experimental.System.Messaging
  10. {
  11. /// <include file='doc\MessagingDescriptionAttribute.uex' path='docs/doc[@for="MessagingDescriptionAttribute"]/*' />
  12. /// <devdoc>
  13. /// DescriptionAttribute marks a property, event, or extender with a
  14. /// description. Visual designers can display this description when referencing
  15. /// the member.
  16. /// </devdoc>
  17. [AttributeUsage(AttributeTargets.All)]
  18. [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
  19. public class MessagingDescriptionAttribute : DescriptionAttribute
  20. {
  21. private bool replaced = false;
  22. /// <include file='doc\MessagingDescriptionAttribute.uex' path='docs/doc[@for="MessagingDescriptionAttribute.MessagingDescriptionAttribute"]/*' />
  23. /// <devdoc>
  24. /// Constructs a new sys description.
  25. /// </devdoc>
  26. public MessagingDescriptionAttribute(string description)
  27. : base(description)
  28. {
  29. }
  30. /// <include file='doc\MessagingDescriptionAttribute.uex' path='docs/doc[@for="MessagingDescriptionAttribute.Description"]/*' />
  31. /// <devdoc>
  32. /// Retrieves the description text.
  33. /// </devdoc>
  34. public override string Description
  35. {
  36. get
  37. {
  38. if (!replaced)
  39. {
  40. replaced = true;
  41. DescriptionValue = Res.GetString(base.Description);
  42. }
  43. return base.Description;
  44. }
  45. }
  46. }
  47. }