CombinationGroupingAttribute.cs 781 B

12345678910111213141516171819202122
  1. using System;
  2. using JetBrains.Annotations;
  3. namespace Terminal.Gui.Analyzers.Internal.Attributes;
  4. /// <summary>
  5. /// Designates an enum member for inclusion in generation of bitwise combinations with other members decorated with
  6. /// this attribute which have the same <see cref="GroupTag"/> value.<br/>
  7. /// </summary>
  8. /// <remarks>
  9. /// This attribute is only considered for members of enum types which have the
  10. /// <see cref="GenerateEnumExtensionMethodsAttribute"/>.
  11. /// </remarks>
  12. [AttributeUsage (AttributeTargets.Field)]
  13. [UsedImplicitly]
  14. internal sealed class CombinationGroupingAttribute : Attribute
  15. {
  16. /// <summary>
  17. /// Name of a group this member participates in, for FastHasFlags.
  18. /// </summary>
  19. public string GroupTag { get; set; }
  20. }