Esempio n. 1
0
        private static IEnumerable <TypeScanResult> RegisterComponents(
            this IEnumerable <TypeScanResult> enumerable,
            Type component,
            ContainerRegisterCallback callback)
        {
            Guard.NotNull(enumerable, nameof(enumerable));
            Guard.NotNull(component, nameof(component));
            Guard.NotNull(callback, nameof(callback));

            foreach (var typeScanResult in enumerable)
            {
                var type    = typeScanResult.Type;
                var service = type.GetInterfaces().FirstOrDefault(t => t.GetTypeDefinition() == component);
                if (service != null)
                {
                    callback(service, type);
                }
                else
                {
                    yield return(typeScanResult);
                }
            }
        }
Esempio n. 2
0
 private static IEnumerable <TypeScanResult> RegisterComponents <TComponent>(
     this IEnumerable <TypeScanResult> enumerable,
     ContainerRegisterCallback callback)
 {
     return(enumerable.RegisterComponents(typeof(TComponent), callback));
 }