private static void WriteFieldWithOverrides(Mesg mesg, byte fieldNumber) { Field profileField = Profile.GetField(mesg.Num, fieldNumber); bool nameWritten = false; if (null == profileField) { return; } IEnumerable <FieldBase> fields = mesg.GetOverrideField(fieldNumber); foreach (FieldBase field in fields) { if (!nameWritten) { Console.WriteLine(" {0}", profileField.GetName()); nameWritten = true; } if (field is Field) { Console.WriteLine(" native: {0}", field.GetValue()); } else { Console.WriteLine(" override: {0}", field.GetValue()); } } }
private static object GetValue(Mesg mesg, byte fieldNumber) { object value = null; Field profileField = Profile.GetField(mesg.Num, fieldNumber); IEnumerable <FieldBase> fields = mesg.GetOverrideField(fieldNumber); foreach (FieldBase field in fields) { value = field.GetValue(); } return(value); }
// INTEGER VERSION //decoder function called once per data point to create the data lists private static int ReturnFieldValue(Mesg message, byte fitfield) { //create a profile field Field profileField = Profile.GetField(message.Num, fitfield); IEnumerable <FieldBase> fields = message.GetOverrideField(fitfield); //init a tracker int newint = 0; //loop over fields collecting relevant data foreach (FieldBase field in fields) { newint = Convert.ToInt32(field.GetValue()); } //return data requested in the call return(newint); }