从1.4.2-preview版本开始,可以使用属性注入。
注入方法不变,使用如下:
public class OutputHello
{
[Inject]
public ISayHello SayHello { get; set; }
public void Output(string name)
{
Console.WriteLine(SayHello.SayHello(name));
}
}
在需要注入的属性上添加一个 Inject
特性即可,不再需要在构造方法中赋值,该属性需要同时具有 get
和 set
。
由于 dotnet nuget bug, 需要添加 AspectInjector 到项目中才能使用属性注入。官方回复会尽快修复。