我在我的ASP.NET Core应用程序中有一个带有多个构造函数的标签助手。当ASP.NET 5尝试解析类型时,这会导致运行时出现以下错误:
InvalidOperationException: 在类型'MyNameSpace.MyTagHelper'中找到了多个接受所有给定参数类型的构造函数。应该只有一个适用的构造函数。
其中一个构造函数是无参数的,另一个构造函数有一些参数,其参数不是注册类型。我希望它使用无参数的构造函数。
有没有办法让ASP.NET 5依赖注入框架选择特定的构造函数?通常可以通过使用属性来实现,但我找不到任何东西。
我的用例是,我正在尝试创建一个既是TagHelper又是HTML助手的单个类,如果解决了这个问题,这是完全可能的。
InvalidOperationException: 在类型'MyNameSpace.MyTagHelper'中找到了多个接受所有给定参数类型的构造函数。应该只有一个适用的构造函数。
其中一个构造函数是无参数的,另一个构造函数有一些参数,其参数不是注册类型。我希望它使用无参数的构造函数。
有没有办法让ASP.NET 5依赖注入框架选择特定的构造函数?通常可以通过使用属性来实现,但我找不到任何东西。
我的用例是,我正在尝试创建一个既是TagHelper又是HTML助手的单个类,如果解决了这个问题,这是完全可能的。
MyTagHelper
是您控制的类型:删除一个构造函数即可。如果这个MyTagHelper
是第三方或框架类型,则使用工厂委托进行注册,并在该委托内调用特定的构造函数。 - Steven