比方說,我有一個這樣的類:有沒有辦法通過索引而不是按名稱來引用類的屬性?
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,它是給我每個支撐值作爲一個字符串一次一個以相同的順序通過串行(使用/ 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等)指定下一個屬性。
有沒有辦法做到這一點?
戴夫
華麗! (更重要的是,因爲在慢慢閱讀之後,我真的明白了!)一個更正tho,我實際上無法將ReadLine()放入SetValue中...... ReadLine生成的字符串不值得深入字節類型,所以在SetValue中使用它之前,我必須對ReadLine val進行一些預處理。 – davecove
很高興聽到!耶,我的壞!我應該添加一個便條。我的意思是代碼只是試圖告訴你如何去做! – Prash