gitextract_ldynwt33/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ └── regression.yml ├── .gitignore ├── LICENSE ├── README.md ├── appveyor.yml ├── codecov.yml ├── package.props ├── package.sln ├── src/ │ ├── Builder/ │ │ ├── Context/ │ │ │ ├── BuilderContext.cs │ │ │ └── BuilderContextExpression.cs │ │ └── Stages/ │ │ ├── BuilderStage.cs │ │ ├── SelectionStage.cs │ │ └── UnityBuildStage.cs │ ├── Events/ │ │ ├── ChildContainerCreatedEventArgs.cs │ │ ├── NamedEventArgs.cs │ │ ├── RegisterEventArgs.cs │ │ └── RegisterInstanceEventArgs.cs │ ├── Exceptions/ │ │ ├── DependencyMissingException.cs │ │ ├── IllegalInjectionMethodException.Desktop.cs │ │ ├── IllegalInjectionMethodException.cs │ │ ├── InvalidRegistrationException.cs │ │ └── MakeGenericTypeFailedException.cs │ ├── Extension/ │ │ ├── ExtensionContext.cs │ │ ├── IUnityContainerExtensionConfigurator.cs │ │ └── UnityContainerExtension.cs │ ├── Extensions/ │ │ ├── DefaultLifetime.cs │ │ ├── Diagnostic.cs │ │ ├── ExtensionExtensions.cs │ │ ├── Legacy.cs │ │ └── Strategies.cs │ ├── Factories/ │ │ ├── DeferredFuncResolverFactory.cs │ │ ├── EnumerableResolver.cs │ │ └── GenericLazyResolverFactory.cs │ ├── Injection/ │ │ └── Validating.cs │ ├── Legacy/ │ │ ├── DynamicMethod/ │ │ │ └── DynamicBuildPlanGenerationContext.cs │ │ ├── IBuildPlanCreatorPolicy.cs │ │ ├── IBuildPlanPolicy.cs │ │ ├── IConstructorSelectorPolicy.cs │ │ ├── IMethodSelectorPolicy.cs │ │ ├── IPropertySelectorPolicy.cs │ │ ├── InjectionParameterValue.cs │ │ ├── NamedTypeBuildKey.cs │ │ ├── TypeBasedOverride.cs │ │ └── TypedInjectionValue.cs │ ├── Lifetime/ │ │ ├── ContainerLifetimeManager.cs │ │ ├── InternalPerResolveLifetimeManager.cs │ │ └── LifetimeContainer.cs │ ├── Policy/ │ │ ├── Converter.cs │ │ ├── IResolveDelegateFactory.cs │ │ └── ISelect.cs │ ├── Processors/ │ │ ├── Abstracts/ │ │ │ ├── MemberExpression.cs │ │ │ ├── MemberProcessor.cs │ │ │ └── MemberResolution.cs │ │ ├── Constructor/ │ │ │ ├── ConstructorDiagnostic.cs │ │ │ ├── ConstructorExpression.cs │ │ │ ├── ConstructorProcessor.cs │ │ │ └── ConstructorResolution.cs │ │ ├── Fields/ │ │ │ ├── FieldDiagnostic.cs │ │ │ └── FieldProcessor.cs │ │ ├── Methods/ │ │ │ ├── MethodDiagnostic.cs │ │ │ └── MethodProcessor.cs │ │ ├── Parameters/ │ │ │ ├── ParametersDiagnostic.cs │ │ │ └── ParametersProcessor.cs │ │ └── Properties/ │ │ ├── PropertyDiagnostic.cs │ │ └── PropertyProcessor.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Registration/ │ │ ├── ContainerRegistration.cs │ │ └── InternalRegistration.cs │ ├── Storage/ │ │ ├── HashRegistry.cs │ │ ├── IRegistry.cs │ │ ├── IStagedStrategyChain.cs │ │ ├── LinkedNode.cs │ │ ├── LinkedRegistry.cs │ │ ├── PolicyList.cs │ │ ├── QuickSet.cs │ │ ├── RegistrationSet.cs │ │ ├── Registrations.cs │ │ └── StagedStrategyChain.cs │ ├── Strategies/ │ │ ├── ArrayResolveStrategy.cs │ │ ├── BuildKeyMappingStrategy.cs │ │ ├── BuildPlanStrategy.cs │ │ ├── BuilderStrategy.cs │ │ └── LifetimeStrategy.cs │ ├── Unity.Container.csproj │ ├── Unity.Container.csproj.DotSettings │ ├── UnityContainer.ContainerContext.cs │ ├── UnityContainer.Diagnostic.cs │ ├── UnityContainer.IUnityContainer.cs │ ├── UnityContainer.Implementation.cs │ ├── UnityContainer.Public.cs │ ├── UnityContainer.Registration.cs │ ├── UnityContainer.Resolution.cs │ ├── Utility/ │ │ ├── ContainerConstants.cs │ │ └── HashHelpers.cs │ └── package.snk └── tests/ ├── Performance/ │ ├── Abstracts/ │ │ ├── BasicBase.cs │ │ └── RegistrationBase.cs │ ├── Configuration/ │ │ └── BenchmarkConfiguration.cs │ ├── Data/ │ │ ├── MultiType.cs │ │ └── TestData.cs │ ├── Performance.csproj │ ├── Program.cs │ └── Tests/ │ ├── Registration/ │ │ └── Registration.cs │ └── Resolution/ │ ├── Compiled.cs │ ├── PreCompiled.cs │ ├── PreResolved.cs │ └── Resolved.cs ├── Unity.Diagnostic/ │ ├── BuildUp.cs │ ├── Constructor.cs │ ├── Cyclic.cs │ ├── Field.cs │ ├── Hierarchical.cs │ ├── Issues.cs │ ├── Method.cs │ ├── Overrides.cs │ ├── Property.cs │ ├── Registration.cs │ └── Unity.Specification.Tests.Diagnostic.csproj ├── Unity.Specification/ │ ├── BuildUp.cs │ ├── Constructor.cs │ ├── Container/ │ │ ├── Hierachy.cs │ │ ├── IsRegistered.cs │ │ └── Registrations.cs │ ├── Factory/ │ │ ├── Registration.cs │ │ └── Resolution.cs │ ├── Field.cs │ ├── Issues.cs │ ├── Lifetime.cs │ ├── Method.cs │ ├── Parameter.cs │ ├── Property.cs │ ├── Registration.cs │ ├── Resolution/ │ │ ├── Array.cs │ │ ├── Basics.cs │ │ ├── Deferred.cs │ │ ├── Enumerable.cs │ │ ├── Generic.cs │ │ ├── Lazy.cs │ │ ├── Mapping.cs │ │ └── Overrides.cs │ └── Unity.Specification.Tests.csproj └── Unity.Tests/ ├── ChildContainer/ │ ├── ChildContainerInterfaceChangeFixture.cs │ ├── ITestContainer.cs │ ├── TestContainer.cs │ ├── TestContainer1.cs │ ├── TestContainer2.cs │ └── TestContainer3.cs ├── CollectionSupport/ │ ├── CollectionSupportFixture.cs │ ├── ConfigurationTestClass.cs │ ├── ConfigurationTestClassGeneric.cs │ ├── ITestInterface.cs │ ├── TestClass.cs │ ├── TestClassDerived.cs │ ├── TestClassWithArrayDependency.cs │ ├── TestClassWithDependencyArrayConstructor.cs │ ├── TestClassWithDependencyArrayMethod.cs │ ├── TestClassWithDependencyArrayProperty.cs │ ├── TestClassWithDependencyEnumerableConstructor.cs │ ├── TestClassWithDependencyTypeConstructor.cs │ ├── TestClassWithDependencyTypeMethod.cs │ └── TestClassWithEnumerableDependency.cs ├── Container/ │ ├── ContainerBuildUpFixture.cs │ ├── ContainerControlledLifetimeThreadingFixture.cs │ ├── ContainerDefaultContentFixture.cs │ ├── SeparateContainerFixture.cs │ ├── UnityExtensionFixture.cs │ └── UnityHierarchyFixture.cs ├── ContainerRegistration/ │ ├── AnotherTypeImplementation.cs │ ├── GivenContainerIntrospectionCorrectUsageFixture.cs │ ├── ITypeAnotherInterface.cs │ ├── ITypeInterface.cs │ └── TypeImplementation.cs ├── Extensions/ │ ├── DefaultLifetimeExtensionTests.cs │ ├── DiagnosticExtensionTests.cs │ └── LegacyExtensionTests.cs ├── Generics/ │ ├── ClassWithConstMethodandProperty.cs │ ├── Foo.cs │ ├── FooRepository.cs │ ├── GenMockLogger.cs │ ├── GenSpecialLogger.cs │ ├── GenericA.cs │ ├── GenericB.cs │ ├── GenericC.cs │ ├── GenericChainingFixture.cs │ ├── GenericConstraintsFixture.cs │ ├── GenericD.cs │ ├── GenericList.cs │ ├── GenericParameterFixture.cs │ ├── GenericResolvedArrayParameterFixture.cs │ ├── GenericsFixture.cs │ ├── GenericsReflectionExperimentsFixture.cs │ ├── HaveAGenericType.cs │ ├── HaveManyGenericTypes.cs │ ├── HaveManyGenericTypesClosed.cs │ ├── IFoo.cs │ ├── IGenLogger.cs │ ├── IHaveAGenericType.cs │ ├── IHaveManyGenericTypes.cs │ ├── IHaveManyGenericTypesClosed.cs │ ├── IRepository.cs │ ├── MockRespository.cs │ ├── Refer.cs │ └── Refer1.cs ├── Injection/ │ ├── InjectedMembersFixture.cs │ ├── InjectingArraysFixture.cs │ ├── OptionalDependencyAPIConfigurationFixture.cs │ ├── OptionalDependencyAttributeFixture.cs │ ├── OptionalDependencyFixture.cs │ └── OptionalGenericParameterFixture.cs ├── Issues/ │ ├── CodeGenBugFixture.cs │ ├── CodeplexIssuesFixture.cs │ └── GitHub.cs ├── Lifetime/ │ ├── A.cs │ ├── AA.cs │ ├── ATTest.cs │ ├── B.cs │ ├── BB.cs │ ├── HierarchicalLifetimeFixture.cs │ ├── I1.cs │ ├── I2.cs │ ├── ITTest.cs │ ├── LifetimeFixture.cs │ ├── PerResolveLifetimeFixture.cs │ └── UnityTestClass.cs ├── ObjectBuilder/ │ ├── BuildPlanAndChildContainerFixture.cs │ ├── LifetimeContainerTest.cs │ ├── StagedStrategyChainTest.cs │ └── Utility/ │ ├── ActivatorCreationStrategy.cs │ ├── AssertActualExpectedException.cs │ └── AssertHelper.cs ├── Override/ │ ├── IForToUndergoeInject.cs │ ├── IForTypeToInject.cs │ ├── IInterfaceForTypesToInject.cs │ ├── IInterfaceForTypesToInjectForPropertyOverride.cs │ ├── ISubjectTypeToInject.cs │ ├── ISubjectTypeToInjectForPropertyOverride.cs │ ├── MultiThreadedPropertyOverrideFixture.cs │ ├── MySimpleType.cs │ ├── MySimpleTypeForPropertyOverride.cs │ ├── SubjectType1ToInject.cs │ ├── SubjectType1ToInjectForPropertyOverride.cs │ ├── SubjectType2ToInject.cs │ ├── SubjectType2ToInjectForPropertyOverride.cs │ ├── SubjectType3ToInject.cs │ ├── SubjectType3ToInjectForPropertyOverride.cs │ ├── TestTypeInConfig.cs │ ├── TypeBasedOverrideFixture.cs │ ├── TypeToInject1.cs │ ├── TypeToInject1ForTypeOverride.cs │ ├── TypeToInject2.cs │ ├── TypeToInject2ForTypeOverride.cs │ ├── TypeToInject3.cs │ ├── TypeToInject3ForTypeOverride.cs │ ├── TypeToInjectForPropertyOverride1.cs │ ├── TypeToInjectForPropertyOverride2.cs │ ├── TypeToInjectForPropertyOverride3.cs │ ├── TypeToToUndergoeTypeBasedInject2.cs │ ├── TypeToToUndergoeTypeBasedInject3.cs │ └── TypeToUndergoeTypeBasedInject1.cs ├── Storage/ │ └── RegistrationSetTests.cs ├── TestDoubles/ │ ├── DependencyAttribute.cs │ ├── InjectionConstructorAttribute.cs │ ├── InjectionMethodAttribute.cs │ ├── MockContainerExtension.cs │ ├── MockContainerExtensionWithNonDefaultConstructor.cs │ ├── SpyExtension.cs │ ├── SpyPolicy.cs │ └── SpyStrategy.cs ├── TestObjects/ │ ├── DisposableObject.cs │ ├── EmailService.cs │ ├── FileLogger.cs │ ├── IBase.cs │ ├── IService.cs │ ├── NullLogger.cs │ ├── ObjectWithAmbiguousConstructors.cs │ ├── ObjectWithAmbiguousMarkedConstructor.cs │ ├── ObjectWithExplicitInterface.cs │ ├── ObjectWithInjectionConstructor.cs │ ├── ObjectWithLotsOfDependencies.cs │ ├── ObjectWithMarkedConstructor.cs │ ├── ObjectWithMultipleConstructors.cs │ ├── ObjectWithOneDependency.cs │ ├── ObjectWithStaticAndInstanceProperties.cs │ ├── ObjectWithTwoConstructorDependencies.cs │ └── OptionalLogger.cs ├── TestSupport/ │ ├── AssertExtensions.cs │ ├── AssertHelper.cs │ ├── CollectionAssertExtensions.cs │ ├── EnumerableAssertionExtensions.cs │ ├── EnumerableExtensions.cs │ ├── ExtensibilityTestExtension.cs │ ├── Guard.cs │ ├── IAdditionalInterface.cs │ ├── ILogger.cs │ ├── MockContainerExtension.cs │ ├── MockDatabase.cs │ ├── MockLogger.cs │ ├── NegativeTypeConverter.cs │ ├── ObjectUsingLogger.cs │ ├── ObjectWithOneConstructorDependency.cs │ ├── ObjectWithTwoConstructorParameters.cs │ ├── ObjectWithTwoProperties.cs │ ├── Pair.cs │ ├── Sequence.cs │ ├── SessionLifetimeManager.cs │ ├── SpecialLogger.cs │ └── TypeReflectionExtensions.cs └── Unity.Tests.csproj