public void HandleDiscoveredModel(IDiscoveryResult <object> discoveryResult) { if (discoveryResult is null) { throw new ArgumentNullException(nameof(discoveryResult)); } AddServices(discoveryResult); }
public RiskAnalysis(IDiscoveryResult result, FileType fileType) { DiscoveryResult = result; High = new Dictionary<MetadataType, int>(); Medium = new Dictionary<MetadataType, int>(); Low = new Dictionary<MetadataType, int>(); ProcessResults(fileType); }
protected void AddServices(IDiscoveryResult <object> discoveryResult) { foreach (var discoveredModel in discoveryResult.Models) { if (discoveredModel.CanOverrideDefaults) { services.Replace(discoveredModel); } else { services.TryAdd(discoveredModel); } } }
protected void AddServices(IDiscoveryResult <object> discoveryResult) { discoveryResult.AddServices(Services); foreach (var discoveredModel in discoveryResult.Models) { if (discoveredModel.CanAddMultiple) { Services.Add(discoveredModel); } else if (discoveredModel.CanOverrideDefaults) { Services.Replace(discoveredModel); } else { Services.TryAdd(discoveredModel); } } }
public void HandleDiscoveredModel(IDiscoveryResult <object> discoveryResult) { if (discoveryResult is null) { throw new ArgumentNullException(nameof(discoveryResult)); } Type discoveryResultType = discoveryResult.GetType(); Type genericArgumentType = discoveryResultType.GetGenericArguments().Single(); MethodInfo handler = this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic) .Where(m => m.Name.Equals("Handle", StringComparison.OrdinalIgnoreCase)) .Where(m => m.GetParameters().Any(p => p.ParameterType.GetGenericArguments().Single() == genericArgumentType)) .SingleOrDefault(); if (handler is null) { throw new RuntimeBinderException($"Missing handle for IDiscoveryResult<{genericArgumentType.Name}>"); } handler.Invoke(this, new[] { discoveryResult }); }