2024-11-01 17:05:13 -07:00

58 lines
2.5 KiB
C#

using System.Collections.ObjectModel;
using System.Text.Json.Serialization;
namespace Adaptation.FileHandlers.RsM;
internal record Line8
{
[JsonConstructor]
public Line8(string numProbePoints, string singleOrDualProbeConfig, string numberActPrbPts, string rsens, string idrvMx, string vinGain, string dataRejectSigma, string meritThreshold, string prbChgNumber, string prbName)
{
NumProbePoints = numProbePoints;
SingleOrDualProbeConfig = singleOrDualProbeConfig;
NumberActPrbPts = numberActPrbPts;
Rsens = rsens;
IdrvMx = idrvMx;
VinGain = vinGain;
DataRejectSigma = dataRejectSigma;
MeritThreshold = meritThreshold;
PrbChgNumber = prbChgNumber;
PrbName = prbName;
}
[JsonPropertyName("NumProbePoints")] public string NumProbePoints { get; }
[JsonPropertyName("SingleOrDualProbeConfig")] public string SingleOrDualProbeConfig { get; }
[JsonPropertyName("#ActPrbPts")] public string NumberActPrbPts { get; }
[JsonPropertyName("Rsens")] public string Rsens { get; }
[JsonPropertyName("IdrvMx")] public string IdrvMx { get; }
[JsonPropertyName("VinGain")] public string VinGain { get; }
[JsonPropertyName("DataRejectSigma")] public string DataRejectSigma { get; }
[JsonPropertyName("MeritThreshold")] public string MeritThreshold { get; }
[JsonPropertyName("PrbChg#")] public string PrbChgNumber { get; }
[JsonPropertyName("PrbName")] public string PrbName { get; }
internal static Line8 Get(string[] segments)
{
Line8 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],
collection.Count < 4 ? string.Empty : collection[3],
collection.Count < 5 ? string.Empty : collection[4],
collection.Count < 6 ? string.Empty : collection[5],
collection.Count < 7 ? string.Empty : collection[6],
collection.Count < 8 ? string.Empty : collection[7],
collection.Count < 9 ? string.Empty : collection[8],
collection.Count < 10 ? string.Empty : collection[9]);
return result;
}
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Line8))]
internal partial class Line8SourceGenerationContext : JsonSerializerContext
{
}