HamBook – Rev 54
?pathlinks?
using System;
namespace HamBook.Radios.Generic
{
public class Phase
{
public Phase(string phase) : this()
{
Mode = Parse(phase);
}
public Phase(int phase) : this()
{
Mode = Parse(phase);
}
public Phase()
{
}
public Phase(PhaseMode mode)
{
Mode = mode;
}
public PhaseMode Mode { get; set; }
public static PhaseMode Parse(string mode)
{
switch (mode)
{
case "Simplex":
return PhaseMode.Simplex;
case "Plus Shift":
return PhaseMode.PlusShift;
case "Minus Shift":
return PhaseMode.MinusShift;
default:
throw new ArgumentException();
}
}
public static PhaseMode Parse(int phase)
{
switch (phase)
{
case 0:
return PhaseMode.Simplex;
case 1:
return PhaseMode.PlusShift;
case 2:
return PhaseMode.MinusShift;
default:
throw new ArgumentException();
}
}
public static implicit operator string(Phase phase)
{
switch (phase.Mode)
{
case PhaseMode.Simplex:
return "Simplex";
case PhaseMode.PlusShift:
return "Plus Shift";
case PhaseMode.MinusShift:
return "Minus Shift";
default:
throw new ArgumentException();
}
}
}
}
Generated by GNU Enscript 1.6.5.90.