Пример #1
0
 public override void Decode(Stream inputStream)
 {
     if (inputStream == null || StructureDescription == null)
     {
         Logger.Info("Either inputStream is null or StructureDescription is not set");
         return;
     }
     foreach (StructureField field in StructureDescription.Fields)
     {
         DataPointEncoderDecoder.Decode(inputStream, m_AttributeValues, field.DataType, field.Name.Value);
     }
 }
Пример #2
0
 public override void Encode(Stream outputStream)
 {
     if (outputStream == null || !outputStream.CanWrite)
     {
         return;
     }
     foreach (StructureField field in StructureDescription.Fields)
     {
         if (m_AttributeValues.TryGetValue(field.Name.Value, out object val))
         {
             DataPointEncoderDecoder.Encode(outputStream, field.DataType, val);
         }
         else
         {
             throw new Exception($"Mandatory field missing: \"{field.Name}\" ({field.DataType})");
         }
     }
 }