我正在使用.Net Core 2.0
的Autofac
进行依赖注入。我对Autofac
和依赖注入概念还不太了解。
现在,我想在DI
中注册一个单例,并在DI容器中解析它。
C#代码[接口]
public interface IMongoDbContext
{
IMongoDatabase Database { get; }
}
类
public class MongoDbContext : IMongoDbContext
{
public MongoDbContext(string connectionString, string databaseName);
public string DatabaseName { get; }
public IMongoDatabase Database { get; }
public string ConnectionString { get; }
}
仓库类
public class DemoRepository : IDemoRepository
{
public DemoRepository(IMongoDataContext context)
{
}
}
现在,在 .Autofac 中,
builder.Register(c => new MongoDbContext(dbConnectionString, dataBaseName)).As<IMongoDbContext>().SingleInstance();
//dbConnectionString and dataBaseName are string variables declared above.
// and then to Resolve it
builder.Register(c => new DemoRepository(c.Resolve<IMongoDbContext>)).As<IDemoRepository>();
// but in above line it shows error at `c.Resolve<IMongoDbContext>` it shows `cannot convert from 'method group' to 'IMongoDbContext'`
能否有人帮助我解决这个问题。我对Autofac和依赖注入都很新,想知道如何在Autofac中注册Singleton。
任何帮助将不胜感激...!!
谢谢
无法将'method group'转换为'IMongoDbContext'
- prog1011