HamBook – Blame information for rev 54

Subversion Repositories:
Rev:
Rev Author Line No. Line
3 office 1 using System;
2  
3 namespace HamBook.Radios.Generic
4 {
46 office 5 public class Phase
3 office 6 {
46 office 7 public Phase(string phase) : this()
15 office 8 {
46 office 9 Mode = Parse(phase);
15 office 10 }
11  
46 office 12 public Phase(int phase) : this()
15 office 13 {
46 office 14 Mode = Parse(phase);
15 office 15 }
16  
46 office 17 public Phase()
16 office 18 {
19 }
20  
46 office 21 public Phase(PhaseMode mode)
15 office 22 {
46 office 23 Mode = mode;
15 office 24 }
25  
54 office 26 public PhaseMode Mode { get; set; }
27  
46 office 28 public static PhaseMode Parse(string mode)
15 office 29 {
30 switch (mode)
31 {
32 case "Simplex":
46 office 33 return PhaseMode.Simplex;
15 office 34 case "Plus Shift":
46 office 35 return PhaseMode.PlusShift;
15 office 36 case "Minus Shift":
46 office 37 return PhaseMode.MinusShift;
15 office 38 default:
39 throw new ArgumentException();
40 }
41 }
42  
46 office 43 public static PhaseMode Parse(int phase)
15 office 44 {
45 switch (phase)
46 {
47 case 0:
46 office 48 return PhaseMode.Simplex;
15 office 49 case 1:
46 office 50 return PhaseMode.PlusShift;
15 office 51 case 2:
46 office 52 return PhaseMode.MinusShift;
15 office 53 default:
54 throw new ArgumentException();
55 }
56 }
57  
46 office 58 public static implicit operator string(Phase phase)
15 office 59 {
46 office 60 switch (phase.Mode)
15 office 61 {
46 office 62 case PhaseMode.Simplex:
15 office 63 return "Simplex";
46 office 64 case PhaseMode.PlusShift:
15 office 65 return "Plus Shift";
46 office 66 case PhaseMode.MinusShift:
15 office 67 return "Minus Shift";
68 default:
69 throw new ArgumentException();
70 }
71 }
3 office 72 }
54 office 73 }