Using Bitwise.1.txt
  1. [Flags]
  2. public enum Weekday
  3. {
  4. None = 0,
  5. Mon = 1,
  6. Tue = 2,
  7. Wed = 4,
  8. Thu = 8,
  9. Fir = 16,
  10. Sat = 32,
  11. Sun = 64
  12. }
  13.  
  14. public class WorkingDay
  15. {
  16. public bool Mon { get; set; }
  17. public bool Tue { get; set; }
  18. public bool Wed { get; set; }
  19. public bool Thu { get; set; }
  20. public bool Fir { get; set; }
  21. public bool Sat { get; set; }
  22. public bool Sun { get; set; }
  23. public Weekday AllWorkingDays {
  24. get {
  25. return (Weekday)WorkingDayFlag;
  26. }
  27. set
  28. {
  29. int result = (int)value;
  30. this.WorkingDayFlag = result;
  31. }
  32. }
  33. public int WorkingDayFlag
  34. {
  35. get
  36. {
  37. Weekday result = this.Mon ? Weekday.Mon : 0;
  38. result |= this.Tue ? Weekday.Tue : 0;
  39. result |= this.Wed ? Weekday.Wed : 0;
  40. result |= this.Thu ? Weekday.Thu : 0;
  41. result |= this.Fir ? Weekday.Fir : 0;
  42. result |= this.Sat ? Weekday.Sat : 0;
  43. result |= this.Sun ? Weekday.Sun : 0;
  44. return (int)result;
  45. }
  46. set
  47. {
  48. this.Mon = ((Weekday)value & Weekday.Mon) == Weekday.Mon;
  49. this.Tue = ((Weekday)value & Weekday.Tue) == Weekday.Tue;
  50. this.Wed = ((Weekday)value & Weekday.Wed) == Weekday.Wed;
  51. this.Thu = ((Weekday)value & Weekday.Thu) == Weekday.Thu;
  52. this.Fir = ((Weekday)value & Weekday.Fir) == Weekday.Fir;
  53. this.Sat = ((Weekday)value & Weekday.Sat) == Weekday.Sat;
  54. this.Sun = ((Weekday)value & Weekday.Sun) == Weekday.Sun;
  55. }
  56. }
  57. }
  58.