有沒有辦法使現有的類字段的集合?C#,製作類字段的集合
我有一個有很多字段/屬性的類有很多有意義的名字。
class ExampleClass
{
public string meaningfulName1 { get; set;}
public double meaningfulName2 { get; set;}
...
public myOtherClass meaningfulNameN { get; set;}
}
我需要從外部(不是我的)程序中生成的文件讀取這些屬性的值。
由於有很多字段/屬性,讀取值並逐一分配它們似乎效率低下。所以我想要這些字段/屬性的集合。類似於
foreach (fieldReference in ExampleClass.fieldReferenceCollection)
{
readValueFromFile(fieldReference);
}
但是,如何保持所有名稱?
使用所有參數值而不是單獨的字段進行集合看起來合乎邏輯,但是字段名稱將會丟失。而且,考慮到字段的數量,如果可能的話,我們希望保留這些名稱以簡化進一步的開發。
所以我需要單獨的字段/屬性和它們的集合在同一時間可用。
字典集合並不是很快,afaik,因此參數名稱作爲值的鍵似乎也不完全適合。
我發現的另一個選擇是反射,但我不確定如何確定反射集合中的字段順序。字段順序作爲文件非常重要,我正在讀取值,沒有元數據,只是一系列十六進制值。反射似乎對於從文件中讀取值來說是過分的,而且它也很慢,afaik。
所以問題是:我應該怎麼做才能同時擁有類字段和它們的集合呢?
我的假設是錯誤的這項任務?有沒有其他方法可以將文件中的大量啞值讀入複雜對象?
P.S.我的第一個SO問題和英語是我的第二語言,所以我爲這些錯誤感到抱歉。
不是假設解決方案太慢,而是寫下來,看看它們是否太慢。如果他們是*然後*你可以看看如何解決這些問題,如果不是,你有你的解決方案。 – Servy
你正在閱讀什麼類型的文件? XML,JSON,INI?可能已經存在一個解析器,具體取決於您正在處理的內容。 – juharr
反射比磁盤I/O慢嗎?我會嘗試。關於訂單:它不是你應該使用的東西(聲明訂單),只需在每個屬性上添加一個屬性並按順序對它們進行訂購。 –