我使用统一在ASP.NET C#依赖注入。如何注入实例与[相关]属性使用Unity?
通常我会注入依赖在构造函数中,如:
class MyClass
{
private readonly ISomething _something;
public MyClass(ISomething something)
{
_something = something;
}
public MyMethod()
{
// _something is instantiated as expected
}
}
那里的依赖已被配置为:
container.RegisterType<ISomething, Something>();
这是所有伟大的。
但现在我需要做的注入,而无需使用构造函数。所以我读了我可以使用依赖属性[Dependency]来达到这个目的。
class MyClass
{
[Dependency]
private ISomething _something { get; set; }
public MyMethod()
{
// _something appears to be null
}
}
但由于某种原因_something似乎为空。
我错过了什么?
SOLUTION:
见接受的答案在这里,它展示了如何创建一个工厂产生注入的实例:
How to resolve dependency in static class with Unity?
为我工作!
“但现在我需要做的注入,而无需使用构造函数。”你为什么需要这个? – Steven