我写了个测试代码,这样是可以的class Program { static void Main(string[] args) { UserService u = new UserService(); u.Show(); Console.ReadLine(); } } public class BaseEntity { } public class User :BaseEntity { } public interface IRepository<T> { void Show(); } public class UserDAL : IRepository<User> { public void Show() { Console.WriteLine("hello") ; } } public interface IService<T> {
} public class BaseService<K,T>:IService<T> where T:BaseEntity where K:IRepository<T>,new() { //这里自己配置autofac K _IRepository=new K(); public void Show() { _IRepository.Show(); } } public class UserService : BaseService<UserDAL, User> {
{ static void Main(string[] args)
{ UserService u = new UserService();
u.Show(); Console.ReadLine();
} } public class BaseEntity { } public class User :BaseEntity
{
} public interface IRepository<T>
{
void Show();
} public class UserDAL : IRepository<User>
{ public void Show()
{
Console.WriteLine("hello") ;
}
} public interface IService<T>
{
} public class BaseService<K,T>:IService<T> where T:BaseEntity
where K:IRepository<T>,new()
{
//这里自己配置autofac
K _IRepository=new K(); public void Show()
{
_IRepository.Show();
}
} public class UserService : BaseService<UserDAL, User>
{
}