当前位置: 首页 > 编程语言 > C#

CastleWindsor注册类和构造函数参数分享

时间:2023-04-10 18:49:54 C#

带有构造函数参数的CastleWindsor注册类我有以下类:publicclassDatabaseFactory:Disposable,IDatabaseFactorywhereC:DbContext,BaseContext,new(){私有字符串连接字符串;publicDatabaseFactory(stringconnectionString){this.connectionString=connectionString;}publicCGet(){返回dataContext??(dataContext=Activator.CreateInstance(typeof(C),newobject[]{connectionString})作为C);}protectedoverridevoidDisposeCore(){if(dataContext!=null)dataContext.Dispose();当我尝试启动webapi时,出现以下错误:无法创建组件'MyApp.DAL.Implementations.DatabaseFactory'1'因为它具有需要满足的依赖项。'MyApp.DAL.Implementations.DatabaseFactory'1'正在等待以下依赖项:-未提供的参数'connectionString'。你忘记设置依赖了吗?如何正确注册它以及如何在运行时传递参数?您需要注册构造函数参数:container.Register(Component.For().ImplementedBy().DependsOn(Dependency.OnValue("connectionString",connectionString)));可以通过在构造函数参数中添加一个匿名类型来设置Resolve()方法的依赖关系示例:以上是C#学习教程:温莎城堡注册类分享的全部内容和构造函数参数,如果对你有用,需要详细了解C#学习教程,希望大家多多关注—IDatabaseFactoryfactory=container.Resolve(new{connectionString=connectionString});本文收集自网络且不代表立场,如涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处: