2016-03-22 8 views
0

私は、動的リストをクラスモデル(製品)のリストに変換しようとしています。これは次のように私の方法がどのように見えるかです:私は、プロパティ値を取得するために、これらの方法の両方を試してみましたダイナミックリストをリスト<Class>に変換する方法は?

public List<Products> ConvertToProducts(List<dynamic> data) 
{ 
    var sendModel = new List<Products>(); 

    //Mapping List<dynamic> to List<Products> 
    sendModel = data.Select(x => 
    new Products 
    { 
     Name = data.GetType().GetProperty("Name").ToString(), 
     Price = data.GetType().GetProperty("Price").GetValue(data, null).ToString() 
    }).ToList(); 
} 

が、それは私にこれらのプロパティが存在しないか、彼らはnullで言ってナルエラーが発生します。

NAME = data.GetType()。GetPropertyメソッド( "名前")。ToStringメソッド()、

価格= data.GetType()。GetPropertyメソッド( "価格")。GetValueメソッド(データ、 ヌル).ToString()

これは私のモデルクラスがどのように見えるかです:

public class Products 
{ 
    public string ID { get; set; } 
    public string Name { get; set; } 
    public string Price { get; set; } 
} 

誰かが私が私が欠けているものを教えてくださいことはできますか?前もって感謝します。

+1

新しい 'List 'を作成し、 'sendModel'への参照を割り当て、それに前のものを使わずに' sendModel'に別の値を割り当てることは意味がありません。 –

答えて

2

現在、あなたのリストである、dataからプロパティを取得しようとしている - リストに項目である、あなたはxを無視しています。私はあなたが欲しい疑う:

var sendModel = data 
    .Select(x => new Products { Name = x.Name, Price = x.Price }) 
    .ToList(); 

あなた性質の結果にToString()を呼び出したいかもしれないが、それは元のデータに何があるかは明らかではありません。

関連する問題