Listから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>
を使用しようとしましたが、別の例外がスローされました。
可能な方法はありますか?
それは私があなたに言ったことです。匿名クラスを使用するかどうかに関わらず、enumをキーとして使用することはできず、まずインスタンス化する必要があります。 –
私が知っているのは、enumを使うことはできませんが、私たちはさまざまなことに焦点を当てました。私は解決策が必要でした。私はあなたの道を間違って使うかもしれないが、それは私のために働いていない。あなたが働いているなら.netのフィドルの例は私はそれを見たいです。 –