static Dominio _dominio = new Dominio
PessoalAlteracao = new Pessoal
public static void Main()
var pessoal = _dominio.Pessoal;
var alteracao = _dominio.PessoalAlteracao;
foreach(var prop in alteracao.GetType().GetProperties())
if(prop.GetValue(alteracao, null) == null)
var novoValor = alteracao.GetType().GetProperties().First(p => p.Name == prop.Name).GetValue(pessoal, null);
prop.SetValue(alteracao, novoValor);
foreach(var prop in alteracao.GetType().GetProperties())
Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(alteracao, null));
public int ID { get; set; }
public string CPF { get; set; }
public string PIS { get; set; }
public string NOME { get; set; }
public Pessoal Pessoal { get; set; }
public Pessoal PessoalAlteracao { get; set; }