public static FlightGearInput stringToEnum(string property) { FlightGearInput enumProperty = (FlightGearInput)Enum.Parse(typeof(FlightGearInput), property, true); return(enumProperty); }
/// <summary> /// Reads the data, gets rhe propertyName and then parsing. /// </summary> private void run() { while (this.running) { try { IList <string> dataVector = this.tcpHandler.Read(); if (dataVector == null) { return; } FlightGearInput property = stringToEnum(dataVector[0]); switch (property) { case FlightGearInput.Heading: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.Heading = double.Parse(dataVector[1]); } break; case FlightGearInput.VerticalSpeed: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.VerticalSpeed = double.Parse(dataVector[1]); } break; case FlightGearInput.GroundSpeed: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.GroundSpeed = double.Parse(dataVector[1]); } break; case FlightGearInput.AirSpeed: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.AirSpeed = double.Parse(dataVector[1]); } break; case FlightGearInput.GpsAltitude: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.GpsAltitude = double.Parse(dataVector[1]); } break; case FlightGearInput.InternalRoll: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.InternalRoll = double.Parse(dataVector[1]); } break; case FlightGearInput.InternalPitch: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.InternalPitch = double.Parse(dataVector[1]); } break; case FlightGearInput.AltimeterAltitude: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.AltimeterAltitude = double.Parse(dataVector[1]); } break; case FlightGearInput.Longitude: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.Longitude = double.Parse(dataVector[1]); } break; case FlightGearInput.Latitude: if (dataVector[2].Equals("double", StringComparison.CurrentCultureIgnoreCase)) { this.Latitude = double.Parse(dataVector[1]); } break; default: break; } } catch (IOException e) { Console.WriteLine(e); this.Disconnect(); } catch (Exception e) { Console.WriteLine(e); continue; } } }