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 {
5 public class ClarifierDirection
6 {
16 office 7 public ClarifierDirection(char symbol) : this()
3 office 8 {
9 Direction = Parse(symbol);
10 }
11  
16 office 12 public ClarifierDirection(string symbol) : this()
15 office 13 {
14 Direction = Parse(symbol);
15 }
16  
16 office 17 public ClarifierDirection()
18 {
19 }
20  
46 office 21 public ClarifierDirection(ShiftDirection shiftDirection)
22 {
23 Direction = shiftDirection;
24 }
25  
54 office 26 public ShiftDirection Direction { get; set; }
27  
3 office 28 private static ShiftDirection Parse(char symbol)
29 {
30 switch (symbol)
31 {
32 case '+':
33 return ShiftDirection.PLUS_SHIFT;
34 case '-':
35 return ShiftDirection.MINUS_SHIFT;
36 default:
37 throw new ArgumentException();
38 }
39 }
40  
15 office 41 private static ShiftDirection Parse(string symbol)
42 {
43 switch (symbol)
44 {
45 case "+":
46 return ShiftDirection.PLUS_SHIFT;
47 case "-":
48 return ShiftDirection.MINUS_SHIFT;
49 default:
50 throw new ArgumentException();
51 }
52 }
53  
3 office 54 private char ToChar()
55 {
56 switch (Direction)
57 {
58 case ShiftDirection.PLUS_SHIFT:
59 return '+';
60 case ShiftDirection.MINUS_SHIFT:
61 return '-';
62 default:
63 throw new ArgumentException();
64 }
65 }
66  
67 public static implicit operator ClarifierDirection(char symbol)
68 {
69 return new ClarifierDirection(symbol);
70 }
71  
72 public static implicit operator char(ClarifierDirection clarifierDirection)
73 {
74 return clarifierDirection.ToChar();
75 }
15 office 76  
77 public static implicit operator ClarifierDirection(string symbol)
78 {
79 return new ClarifierDirection(symbol);
80 }
81  
82 public static implicit operator string(ClarifierDirection clarifierDirection)
83 {
84 switch (clarifierDirection.Direction)
85 {
86 case ShiftDirection.PLUS_SHIFT:
87 return "+";
88 case ShiftDirection.MINUS_SHIFT:
89 return "-";
90 default:
91 throw new ArgumentException();
92 }
93 }
3 office 94 }
54 office 95 }