protected InstanceManipulationFactory(Type targetType, string memberName, IReadOnlyList <DependencyFactory> dependencyFactories)
 {
     TargetType          = targetType.MustNotBeNull(nameof(targetType));
     MemberName          = memberName.MustNotBeNullOrWhiteSpace(nameof(memberName));
     DependencyFactories = dependencyFactories;
     HashCode            = Equality.CreateHashCode(targetType, memberName);
 }
        public DependencyOverrides(Dictionary <Dependency, object> overriddenDependencies, Dictionary <TypeKey, object> overriddenRegistrations)
        {
            _overriddenDependencies  = overriddenDependencies;
            _overriddenRegistrations = overriddenRegistrations;

            _hashCode = Equality.CreateHashCode(overriddenDependencies.IsNullOrEmpty() ? 0 : Equality.CreateHashCode <Dependency>(overriddenDependencies.Keys),
                                                overriddenRegistrations.IsNullOrEmpty() ? 0 : Equality.CreateHashCode <TypeKey>(overriddenRegistrations.Keys));
        }
 public Dependency(string name, Type targetType, string dependencyKind, string targetRegistrationName = "", bool?resolveAll = null)
 {
     Name                   = name.MustNotBeNullOrWhiteSpace(nameof(name));
     TargetType             = targetType.MustNotBeNull(nameof(targetType));
     DependencyKind         = dependencyKind.MustNotBeNullOrWhiteSpace(nameof(dependencyKind));
     TargetRegistrationName = targetRegistrationName.MustNotBeNull(nameof(targetRegistrationName));
     ResolveAll             = resolveAll;
     HashCode               = Equality.CreateHashCode(name, targetType, dependencyKind);
 }
Example #4
0
 /// <inheritdoc />
 public override int GetHashCode()
 {
     return(Equality.CreateHashCode(From, To, IsFromInclusive, IsToInclusive));
 }
 public ResolveDelegateId(TypeKey typeKey, DependencyOverrides overrides = null)
 {
     TypeKey   = typeKey.MustNotBeEmpty(nameof(typeKey));
     Overrides = overrides;
     HashCode  = Overrides == null ? TypeKey.HashCode : Equality.CreateHashCode(TypeKey, overrides);
 }
 public override int GetHashCode()
 {
     return(Equality.CreateHashCode(TypeKey, MemberName));
 }
 /// <summary>
 ///     Initializes a new instance of <see cref="TypeKey" />.
 /// </summary>
 /// <param name="type">The <see cref="Type" /> associated with the new type key.</param>
 /// <param name="registrationName">The name of the registration (optional).</param>
 /// <exception cref="ArgumentNullException">Thrown when <paramref name="type" /> or <paramref name="registrationName" /> is null.</exception>
 public TypeKey(Type type, string registrationName = "")
 {
     Type             = type.MustNotBeNull(nameof(type));
     RegistrationName = registrationName.MustNotBeNull(nameof(registrationName));
     HashCode         = registrationName.IsNullOrWhiteSpace() ? type.GetHashCode() : Equality.CreateHashCode(type, registrationName);
 }