没有多余的代码,就是标记为 AttributeTargets.Property 即可
应用到类成员 [Route("home")] [ApiController] public class HomeController : ControllerBase { [PropertyFromService] public IConfiguration Configuration { get; set; } [PropertyFromService] public IHostingEnvironment Environment { get; set; } [PropertyFromService] public CarService CarService { get; set; } [PropertyFromService] public PostServices PostServices { get; set; } [PropertyFromService] public TokenService TokenService { get; set; } [PropertyFromService] public TopicService TopicService { get; set; } [PropertyFromService] public UserService UserService { get; set; } public HomeController() { } [HttpGet("index")] public ActionResult<string> Index() { return "Hello world!"; } }请大声的回答,上面的代码是不是非常的干净整洁!但是,像上面这样使用属性注入有一个小问题,在对象未初始化之前,该属性为 null,意味着在类的构造函数中,该成员变量不可用,不过不要紧,这点小问题完全可用通过在构造函数中注入解决;更重要的是,并非每个实例都需要在构造函数中使用,是吧。
示例代码托管在 Github 上了 https://github.com/lianggx/Examples/tree/master/Ron.DI