using System; using System.ComponentModel; namespace DTS.Common.Utilities { /// /// Enumeration of all possible Data Flags /// /// public enum DataFlag { [Description("None")] [Flag(0)] None, [Description("Normal")] [Flag(1)] Normal, [Description("Saturated")] [Flag(2)] Saturated, [Description("Zero Crossing Error")] [Flag(3)] ZeroCrossing, [Description("Broken Wire")] [Flag(4)] BrokenWire, [Description("Other")] [Flag(-1)] Other } [AttributeUsage(AttributeTargets.Field)] public class FlagAttribute : Attribute { public int Flag { get; } //////////////////////////////////////////////////////////////////////////////// public FlagAttribute(int flag) { Flag = flag; } } /// /// /// Tool for manipulating -attached s. /// public class DataFlagAttributeCoder : AttributeCoder { /// /// Initializes an instance of the IsoDescriptionAttributeCoder class. /// public DataFlagAttributeCoder() : base(attribute => attribute.Flag, null) { } } }