我有一个通用接口(interface):
public interface IValidationResult<T> where T : struct {
T Status { set; get; }
User User { set; get; }
}
还有一个实现通用接口(interface)的类:
public class ValidationResult : IValidationResult<ValidationResult.ValidationStatus> {
public enum ValidationStatus { UserNotFound, InvalidPassword, Valid, UserBlankOrSpace }
public ValidationStatus Status { set; get; }
public User User { set; get; }
public ValidationResult (User user, ValidationStatus status) {
if (user == null) {
throw new ArgumentNullException ("The User is Null");
}
Status = status;
User = user;
}
}
我想注册我的接口(interface)以便我可以使用 DI(依赖注入(inject)),如果我的类和接口(interface)都是通用的,我会将它们注册为:
services.AddScoped(typeof(IGenericRepository<>), typeof(EFGenericRepository<>));
但是可以使用内置的依赖注入(inject)在 ASP.NET Core 中注册具有非泛型实现的泛型接口(interface)吗?谢谢
最佳答案
怎么样
services.AddScoped<IValidationResult<ValidationResult.ValidationStatus>,
ValidationResult>();
关于c# - 在 ASP.NET Core 依赖注入(inject)中使用非泛型实现注册泛型接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45593180/