public void RegisterValidator <TModel, TValidator>() where TModel : class where TValidator : IValidator <TModel> { ServiceTypeDescriptor descriptor = new ServiceTypeDescriptor { ImplementationType = typeof(TValidator), ServiceType = typeof(IValidator <TModel>), ModelType = typeof(TModel) }; _validators.TryAdd(typeof(TModel), descriptor); }
public void RegisterDataManager <TModel, TDataManager>() where TModel : class where TDataManager : IDataManager <TModel> { ServiceTypeDescriptor descriptor = new ServiceTypeDescriptor { ImplementationType = typeof(TDataManager), ServiceType = typeof(IDataManager <TModel>), ModelType = typeof(TModel) }; _managers.TryAdd(typeof(TModel), descriptor); }
public void RegisterValidator(Type ModelType, Type ValidatorType) { Type unboundType = typeof(IValidator <>); Type[] argsType = { ModelType }; Type serviceType = unboundType.MakeGenericType(argsType); ServiceTypeDescriptor descriptor = new ServiceTypeDescriptor { ImplementationType = ValidatorType, ServiceType = serviceType, ModelType = ModelType }; _validators.TryAdd(ModelType, descriptor); }
public void RegisterDataManager(Type ModelType, Type DataManagerType) { Type unboundType = typeof(IDataManager <>); Type[] argsType = { ModelType }; Type serviceType = unboundType.MakeGenericType(argsType); ServiceTypeDescriptor descriptor = new ServiceTypeDescriptor { ImplementationType = DataManagerType, ServiceType = serviceType, ModelType = ModelType }; _managers.TryAdd(ModelType, descriptor); }
public bool TryGetDescriptor(Type modelType, out ServiceTypeDescriptor descriptor) { descriptor = null; return(_validators.TryGetValue(modelType, out descriptor)); }