如果我有一個對象如何使用反射來映射列表<objects>包括枚舉值
public class Car {
public List<UpdatePart> updatePartList {get; set;}
}
public class UpdatePart {
public PartToModify PartToModify {get; set;}
public string NewValue {get;set}
}
而且PartToModify是一個枚舉:
public enum PartToModify {
Engine,
Tire,
}
而且我有一個部分對象:
public class Part {
public string Engine {get;set;}
public string Tire {get;set;}
public decimal price {get;set;}
}
我該如何使用反射和Part上的每個屬性都與PartToModify中的枚舉相匹配,創建一個ew UpdatePart對象並選擇PartToModify == Part.Property的正確枚舉,並將Part.Property的值分配給UpdatePart.NewValue。
我想是這樣的:
var partProperties = partObj.GetType().GetProperties();
foreach (var property on updatePartProperties) {
UpdatePartList.Add(MapProperties(partProperties, part));
}
public UpdatePart MapProperties(PropertyInfo partProperties, Part partObj){
//pseudo code
var updatePart = new UpdatePart();
foreach(var property on partProperties) {
if (property.Name == <iterate through enum values until one is found>)
updatePart.PartToModify = PartToModify.<somehow select value that matches property.name>
updatePart.NewValue = property.GetValue(partObj, null);
}
return updatePart;
}
顯然,你得到的是什麼,我試圖做的,任何想法JIFF?不,這不是一個學校項目。整個「汽車」的例子是我提出的最接近實際對象的最接近的例子,因爲我不想寫出我試圖完成的任務,想要提供一個例子。
我也不明白你在做什麼。 –
我想根據屬性的名稱選擇一個枚舉值。我認爲鮑勃淡水河谷正是我所需要的。 – pghtech