Ich bezweifle, dass Sie eine Möglichkeit finden, alle diese Eigenschaften nicht ohne Reflektion aufzulisten, aber das folgende hilft, die riesige Formatzeichenfolge zu beseitigen, die wahrscheinlich zur Fehlerquelle wird.
var properties = new Object[]
{
this.BlockType, // 1, A_NAME
this.Tag, // 2, A_TAG
this.Description, // 3, A_DESC
this.InitialScan, // 4, A_ISCAN
this.AutoManual, // 5, A_SCAN
this.ScanTime, // 6, A_SCANT
this.IoDevice, // 7, A_IODV
this.IoAddress, // 8, A_IOAD
this.InitialAmStatus, // 9, A_IAM
this.AlarmPriority, // 10, A_PRI
this.AlarmEnable, // 11, A_ENAB
this.EnableOutput, // 12, A_EOUT
this.HistDescription, // 13, A_HIST_DESC
this.SecurityArea1 // 14, A_SECURITYAREA1
}.Select(x => String.Format("\u0022{0}\u0022", x));
return String.Join(",", properties);
Ein paar Dinge zu beachten:
Dies ist kaum ein effizienter Weg, bietet jedoch ziemlich wartbaren Code. Wenn Sie eine zusätzliche Eigenschaft haben, fügen Sie sie einfach dem Array hinzu.
Dies funktioniert nur in .NET 4.0. In früheren Versionen müssen Sie ToArray()
nach diesem Aufruf anrufen Select
.