この1つは...ので、私は最初のコードを紹介し説明することはほとんど困難である現在のクラスに新しいクラス値を設定するにはどうすればよいですか?
注:私は..でこれを作成しなかったものをここで助けを
public class Class1 { public string Title {get;set;} public string Name {get;set;} public Class1(Class1 class1) { // ?? How do I populate current class with new class values? // ?? this = class1; - Does not work // I want to avoid having to manually set each value } }
おかげで...あまり混乱メイド例私の拡張クラス..できるように今すぐできるように
Extensions.MapValues(class1, this);
public static void MapValues(object from, object to) { var fromProperties = from.GetType().GetProperties(); var toProperties = to.GetType().GetProperties(); foreach (var property in toProperties) { var fromProp = fromProperties.SingleOrDefault(x => x.Name.ToLower() == property.Name.ToLower()); if(fromProp == null) { continue; } var fromValue = fromProp.GetValue(from, null); if(fromValue == null) { continue; } property.SetValue(to, fromValue, null); } }
私は新しいクラス値によって – RubenHerman
はあなたが値を初期化することを意味しない...それは個別に各値を設定することなく可能だとは思わないのですか?あなたはそれを手動で行う必要があることを恐れています。 – msarchet
これは混乱します。 DataRowには何が含まれていますか?あなたは、DataRowからClass1のインスタンスを作成しようとしていますか? – slandau