Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!
Me ajudem... Não estou conseguindo entender este erro.
Estou criando uma classe base para camada de BLL.
public class BaseBll<T, DAO> : IDisposable
where T : Castle.ActiveRecord.ActiveRecordBase
where DAO : Dao.Util.BaseDao<T>
{
}
Porém, como eu conseguiria utilizar os métodos estáticos da classe DAO, informada?
Exemplo: DAO.Lista()
Melhor... Isso é possível?
Eu gostaria de criar uma classe base com os métodos já pré montados.
Veja a minha BaseDao:
public class BaseDao<T>
{
protected static ISession Sessao
{
get
{
return Dao.Util.DaoUtil.Sessao("qc");
}
}
public static IList<T> Lista(ISession sessao = null)
{
if (sessao != null)
{
return sessao.Query<T>().ToList();
}
using (var s = Sessao)
{
return s.Query<T>().ToList();
}
}
}
Daí, para não ficar reescrevendo código, quando criar uma Bll, não precisar criar uma Lista, delete, etc etc etc se não precisar aplicar uma regra de negócio.
Daí, estou fazendo uma Base BLL...
public class BaseBll<T, DAO> : IDisposable
where T : Castle.ActiveRecord.ActiveRecordBase
where DAO : Dao.Util.BaseDao<T>
{
#region Métodos estáticos
public static IList<T> Lista()
{
return DAO.Lista(); //Errado
}
}
Daí, minha BLL de Usuário, se não houver regras, simplesmente ficaria assim:
public class Usuario : Util.BaseBll<Entity.Cadastro.Acesso.Usuario, Dao.Cadastro.Acesso.Usuario>
{
}
Entendeu? Se precisar de regra, simplesmente, sobrescrevo o método.
Não entendi muito bem, vc quer usar o DAO.Lista() dentro dessa classe BaseBll ou herdar outra classe dessa BaseBll e usar esse método?