使用autofac注册抽象类

时间:2013-12-30 22:49:56

标签: autofac dbconnection idbconnection

我只是在快速制作的控制台应用程序中运行此代码,并添加了autofac程序集:

builder.RegisterType<DbConnection>().As<IDbConnection>().WithParameter("connectionString", connectionString);

虽然DbConnection是抽象类型,但没有例外。

autofac是否真的创建了DbConnection的具体实例,尽管它是抽象的?

怎么可能不使用:

builder.RegisterType()。As()。WithParameter(“connectionString”,connectionString);

我是否必须从DbConnection继承并注入然后继承自DbConnection的MySqlConnection?

1 个答案:

答案 0 :(得分:1)

您只能获得解决方案的例外情况。您需要注册具体类型,因为您无法实例化抽象类型。因此,正如您所说,您需要一个非抽象类型,其中包含从DbConnection派生的公共构造函数,并将其注册为IDbConnection。