Closed xiaoxiaotank closed 3 months ago
这种使用场景一般不存在吧,如果存在多个实现,一般会用构造方法进行区别创建
这种使用场景一般不存在吧,如果存在多个实现,一般会用构造方法进行区别创建
目前没有遇到一个特别适合的场景,但我认为从功能设计上来说,它确实应该支持
之所以想要支持该功能,是因为编写下方代码时会使人产生疑惑:
var services = new ServiceCollection();
services.AddAutoInject();
var sp = services.BuildServiceProvider();
// UserService1
var userServices1 = sp.GetService<UserService1>();
// null
var userServices2 = sp.GetService<UserService2>();
public abstract class UserServiceBase : ITransientDependency { }
public class UserService1 : UserServiceBase { }
[IgnoreInjection]
public class UserService2 : UserServiceBase { }
当服务继承的是类时,userServices2 是可以被忽略的,但是当继承(实现)的是接口时(最上方代码),它却没有被忽略。这很容易让人怀疑人生。
Description
Look this:
Issue reference
None
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: