2016-08-08 3 views
-2

2つのオブジェクトがありますが、タイプは異なります。それらに格納された情報はほぼ似ています。つまり、両方のオブジェクトですべてのフィールド名がほぼ同じです。つまり、タイプが異なるだけです。あるオブジェクトの値を他のオブジェクトにコピーしたい。また、オブジェクトには、ex:フィールドのフィールドとして複雑な型があります。それを行うためのライブラリやフレームワークを提案してください。また、.net C#で利用可能なネイティブメソッドがあれば教えてください。1つのオブジェクトタイプのすべてのフィールドをC#の他のオブジェクトタイプにコピーします。

+1

」の質問には、スタックオーバーフローのために**オフトピックです。代わりに、問題を説明し、それを解決するために今まで何が行われているか」 – ray

+0

[どちらが最善のアプローチですか? AutoMapperを暗黙的に(C#の参照)](0120803115/which-is-the-best-approach-automapper-against-implicit-c-reference) –

+0

フィールド名は両方のオブジェクトでほとんど同じです? – Paparazzi

答えて

1

このコードでは、必要に応じていくつかの修正が必要です。しかし、それは全体的に見えます。彼らは独断回答やスパムを誘致する傾向があるよう**本、ツール、ソフトウェアライブラリ、チュートリアルや他のオフサイトのリソースをお勧めしますか見つけるために私たちを求めて

private void button1_Click(object sender, EventArgs e) 
    { 
     classA A = new classA("test"); 
     classB B = new classB(); 

     foreach (var field in A.GetType().GetProperties()) 
     { 
      PropertyInfo pi = B.GetType().GetProperty(field.Name); 
      pi.SetValue(B, field.GetValue(A, null)); 
     } 

    } 

public class classA{ 
    public string name { get; set; } 

    public classA(string name) 
    { 
     this.name = name; 
    } 
} 

public class classB 
{ 
    public string name { get; set; } 
} 
関連する問題