我有一个通用的界面:
public interface IValidationResult<T> where T : struct {
T Status { set; get; }
User User { set; get; }
}
以及实现通用接口的类:
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;
}
}
我想注册我的界面,所以我可以使用DI(依赖注入),如果我的类和接口都是通用的我将它们注册为:
services.AddScoped(typeof(IGenericRepository<>), typeof(EFGenericRepository<>));
但是可以使用内置的依赖注入在ASP.NET Core中注册一个非泛型实现的泛型接口吗?谢谢
怎么样
services.AddScoped<IValidationResult<ValidationResult.ValidationStatus>,
ValidationResult>();