Instanciar objetos lista numa classe POCO
30/08/2012
0
public class Rotina : EntidadeBase
{
#region --- Propriedades Privadas (Rotina) ---
private Lista<Tarefa> cTarefas;
private Lista<AgendamentoRotina> cAgendamentos;
#endregion
#region --- Propriedades Públicas (Rotina) ---
public Lista<Tarefa> Tarefas
{
get { return cTarefas; }
set { cTarefas = value; }
}
public Lista<AgendamentoRotina> Agendamentos
{
get { return cAgendamentos; }
set { cAgendamentos = value; }
}
#endregion
public void Executar()
{
foreach (var tarefa in this.Tarefas)
{
tarefa.Execute();
}
}
}
Pjava
Posts
30/08/2012
Edson Oliveira
public class Rotina : EntidadeBase { #region --- Propriedades Privadas (Rotina) --- private Lista<Tarefa> cTarefas; private Lista<AgendamentoRotina> cAgendamentos; #endregion #region --- Propriedades Públicas (Rotina) --- public Lista<Tarefa> Tarefas { get { return cTarefas; } set { cTarefas = value; } } public Lista<AgendamentoRotina> Agendamentos { get { return cAgendamentos; } set { cAgendamentos = value; } } #endregion public void Executar() { foreach (var tarefa in this.Tarefas) { tarefa.Execute(); } } }
O que vc está fazendo é chamar o método executar antes de da um new na lista.
Na sua chamada seria assim.
Rotina oRotina = new Rotina(); oRotina.Tarefas = new List<Tarefa> oRotina.Tarefas.Add(new Tarefa() { Id = 1 }); oRotina.Executar();
Agora se vc quer garantir que não de algum tipo de erro, vc pode fazer isso.
public Lista<Tarefa> Tarefas { get { if(cTarefas == null) { cTarefas = new List<Tarefa>(); } return cTarefas; } set { cTarefas = value; } }
31/08/2012
Pjava
this.Tarefas = new Lista<Tarefa>();
this.Tarefas.Select(c => new { c.IdTarefa, c.Descricao, c.Rotina, c.TipoTarefa, c.DataAlteracao, c.DataInclusao, c.Ativo });
31/08/2012
Edson Oliveira
this.Tarefas.Select(c => new { c.IdTarefa, c.Descricao, c.Rotina, c.TipoTarefa, c.DataAlteracao, c.DataInclusao, c.Ativo });
Mas vc não adicionou nenhum elemento na lista. Para adicionar é só fazer isso.
this.Tarefas = new Lista<Tarefa>();
Tarefa oTarefa = new Tarefa();
oTarefa.Id = 1;
oTarefa.Descricao= "Item";
oTarefa.TipoTarefa= 1;
oTarefa.DataAlteracao= DateTime.Now;
oTarefa.DataInclusao= DateTime.Now;
oTarefa.Ativo = true;
this.Tarefas.Add(oTarefa);
31/08/2012
Pjava
Clique aqui para fazer login e interagir na Comunidade :)