public Atividade Build() { var atividade = new Atividade(Titulo, Descricao, Tipo, Data); if (Concluida) { atividade.Concluir(); } if (atividade.Id < 0) { return(atividade); } var propertyInfo = atividade.GetType().GetProperty("Id"); propertyInfo.SetValue(atividade, Convert.ChangeType(Id, propertyInfo.PropertyType), null); return(atividade); }