HamBook – Blame information for rev 16

Subversion Repositories:
Rev:
Rev Author Line No. Line
3 office 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6  
7 namespace HamBook.Radios.Generic
8 {
9 public class ClarifierDirection
10 {
16 office 11 public ShiftDirection Direction { get; set; }
3 office 12  
16 office 13 public ClarifierDirection(char symbol) : this()
3 office 14 {
15 Direction = Parse(symbol);
16 }
17  
16 office 18 public ClarifierDirection(string symbol) : this()
15 office 19 {
20 Direction = Parse(symbol);
21 }
22  
16 office 23 public ClarifierDirection()
24 {
25  
26 }
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 }
95 }