목록에서 expandoObject를 초기화하고 싶습니다.목록에서 expandoobject를 초기화하십시오. <T>
internal class CarKeyValue {
public CarKey CarKey { get; set; }
public string Value1 { get; set; }
public string Value2 { get; set; }
}
public enum CarKey {
Brand = 1,
Model = 2,
Year = 3,
FactoryLocation = 4,
//more than 400 key here...
}
var car = new List<CarKeyValue>{
new CarKeyValue {CarKey = CarKey.Brand, Value1 = "Ford"},
new CarKeyValue {CarKey = CarKey.Model, Value1 = "Focus",Value2 = "Titanium"},
new CarKeyValue {CarKey = CarKey.Year, Value1 = "1995"},
new CarKeyValue {CarKey = CarKey.FactoryLocation, Value1 = "Turkey",Value2="Bursa"},
};
dynamic expando = new ExpandoObject();
foreach(var item in car){
expando.[item.CarKey].Value1 = item.Value1;
//Incorrect primary expression.
expando.[item.CarKey].Value2 = item.Value2;
}
어떻게하면됩니까? 나는 Expando Object를 사용할 필요가있다. 나는 IDictionary<string,dynamic>
을 사용하려고 시도하지만 또 다른 예외가 발생했습니다.
가능한 방법이 있습니까?
그것이 내가 당신에게 말한 것입니다. 익명 클래스를 사용하든 사용하지 않든간에 열거 형을 키로 사용할 수 없으며 먼저 인스턴스화해야합니다. –
알았어, 열거 형을 사용하지 못하지만 다른 것들을 집중 시켰는데, 나는 해결책이 필요하다는 것을 알았다. 나는 당신의 방식을 잘못 사용할 수도 있지만 그것은 나를 위해 일하지 않습니다. 작동하는 .net 바이올린 예제가 있다면 그것을보고 싶습니다. –