次のようなクラスがあるとしましょう:
public class Config {
public byte ALS { get; set; }
public bool BCP { get; set; }
public short NRG { get; set; }
// 46 more bytes, shorts, and bools
public byte GRT { get; set; }
}
Config myConfig = new Config();
同じクラスが定義された Arduino があり、シリアル経由で同じ順序で各 prop 値を一度に 1 つずつ文字列として送信しているとします (/n 文字を使用して、SerialPort.ReadLine() を使用できます)。それぞれの値が到着したら、次のプロパティに入れたいと思います。私は本当にこのようなことをしたいと思います:
<psudo code>
for (int i = 0; i < 50; i++)
{
myConfig[i] = (Config[i].GetType())port.ReadLine(); //reference the property by index, not by name
}
</psudo code>
新しく到着した値を目的のプロパティ タイプに合わせてキャストした後、インスタンスの次のプロパティに新しい到着値を配置していることに注意してください。次のプロパティを名前 (ALS、BCP、NRG など) ではなく、インデックス (0、1、2、3 など) で指定します。
これを行う方法はありますか?
デイブ