public SupplierRegistration(IDataSupplier supplier, Type type) { Supplier = supplier; CanSupplyScoped = supplier.CanSupplyScoped(type); CanSupplyUnscoped = supplier.CanSupplyUnscoped(type); var consumer = supplier as IDataConsumer; if (consumer != null) { var needs = consumer.GetConsumerNeeds(); if (needs != null) { if (needs.DataSupplyDependencies != null) { DependencyScore += needs.DataSupplyDependencies.Count; } if (needs.DataSupplierDependencies != null) { DependencyScore += needs.DataSupplierDependencies.Count * 2; } if (needs.DataDependencies != null) { DependencyScore += needs.DataDependencies.Count * 3; } } } if (CanSupplyScoped && CanSupplyUnscoped) { DependencyScore += 1; } }
bool IDataSupplier.CanSupplyUnscoped(Type type) { return(DataSupplier.CanSupplyUnscoped(type)); }