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); }
/// <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); }