实例介绍
Autofac是一个用于Microsoft .NET的IoC容器。它管理类之间的依赖关系,使应用程序在规模和复杂性增长时保持易于更改。这是通过将常规的.NET类视为组件来实现的。
【实例截图】【核心代码】
文件清单
└── Autofac-4547d16ee76ab5fe192b72d09ffe65a1e358fba4
├── appveyor.yml
├── Autofac.sln
├── Autofac.sln.DotSettings
├── Autofac.snk
├── bench
│ ├── Autofac.BenchmarkProfiling
│ │ ├── Autofac.BenchmarkProfiling.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── launchSettings.json
│ └── Autofac.Benchmarks
│ ├── Autofac.Benchmarks.csproj
│ ├── BenchmarkConfig.cs
│ ├── Benchmarks.cs
│ ├── ChildScopeResolveBenchmark.cs
│ ├── ConcurrencyBenchmark.cs
│ ├── ConcurrencyNestedScopeBenchmark.cs
│ ├── Decorators
│ │ ├── DecoratorBenchmarkBase.cs
│ │ ├── KeyedGenericBenchmark.cs
│ │ ├── KeyedNestedBenchmark.cs
│ │ ├── KeyedSimpleBenchmark.cs
│ │ ├── KeylessGenericBenchmark.cs
│ │ ├── KeylessNestedBenchmark.cs
│ │ ├── KeylessNestedLambdaBenchmark.cs
│ │ ├── KeylessNestedSharedInstanceBenchmark.cs
│ │ ├── KeylessNestedSharedInstanceLambdaBenchmark.cs
│ │ ├── KeylessSimpleBenchmark.cs
│ │ ├── KeylessSimpleLambdaBenchmark.cs
│ │ ├── KeylessSimpleSharedInstanceBenchmark.cs
│ │ ├── KeylessSimpleSharedInstanceLambdaBenchmark.cs
│ │ └── Scenario
│ │ ├── Command.cs
│ │ ├── CommandHandlerDecoratorOne.cs
│ │ ├── CommandHandlerDecoratorTwo.cs
│ │ ├── CommandHandlerOne.cs
│ │ ├── CommandHandlerTwo.cs
│ │ ├── GenericCommandHandlerDecorator.cs
│ │ ├── GenericCommandHandlerOne.cs
│ │ ├── GenericCommandHandlerTwo.cs
│ │ ├── ICommandHandler`1.cs
│ │ └── ICommandHandler.cs
│ ├── DeepGraphResolveBenchmark.cs
│ ├── EnumerableResolveBenchmark.cs
│ ├── Harness.cs
│ ├── LambdaResolveBenchmark.cs
│ ├── MultiConstructorBenchmark.cs
│ ├── OpenGenericBenchmark.cs
│ ├── Program.cs
│ ├── PropertyInjectionBenchmark.cs
│ ├── RequiredPropertyBenchmark.cs
│ ├── RootContainerResolveBenchmark.cs
│ └── xunit.runner.json
├── build
│ ├── Analyzers.ruleset
│ ├── Autofac.Build.psd1
│ ├── Autofac.Build.psm1
│ ├── Documentation.proj
│ ├── Documentation.shfbproj
│ ├── icon.png
│ ├── stylecop.json
│ └── Test.ruleset
├── build.ps1
├── codecov.yml
├── codegen
│ └── Autofac.CodeGen
│ ├── Autofac.CodeGen.csproj
│ ├── DelegateRegisterGenerator.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── README.md
├── Directory.Build.props
├── global.json
├── LICENSE
├── NuGet.Config
├── README.md
├── src
│ └── Autofac
│ ├── Autofac.csproj
│ ├── Builder
│ │ ├── BuildCallbackManager.cs
│ │ ├── BuildCallbackService.cs
│ │ ├── BuildCallbackServiceResources.resx
│ │ ├── ConcreteReflectionActivatorData.cs
│ │ ├── ContainerBuildOptions.cs
│ │ ├── DeferredCallback.cs
│ │ ├── DynamicRegistrationStyle.cs
│ │ ├── IConcreteActivatorData.cs
│ │ ├── IHideObjectMembers.cs
│ │ ├── IRegistrationBuilder.cs
│ │ ├── MetadataConfiguration.cs
│ │ ├── MetadataKeys.cs
│ │ ├── ReflectionActivatorData.cs
│ │ ├── RegistrationBuilder.cs
│ │ ├── RegistrationBuilderResources.resx
│ │ ├── RegistrationBuilder{TLimit,TActivatorData,TRegistrationStyle}.cs
│ │ ├── RegistrationData.cs
│ │ ├── RegistrationExtensions.cs
│ │ ├── RegistrationOrderExtensions.cs
│ │ ├── SimpleActivatorData.cs
│ │ ├── SingleRegistrationStyle.cs
│ │ └── StartableManager.cs
│ ├── ContainerBuilder.cs
│ ├── ContainerBuilderResources.resx
│ ├── ContainerExtensions.cs
│ ├── Core
│ │ ├── ActivatedEventArgs.cs
│ │ ├── ActivatingEventArgs.cs
│ │ ├── Activators
│ │ │ ├── DefaultPropertySelector.cs
│ │ │ ├── Delegate
│ │ │ │ ├── DelegateActivator.cs
│ │ │ │ └── DelegateActivatorResources.resx
│ │ │ ├── DelegatePropertySelector.cs
│ │ │ ├── InstanceActivator.cs
│ │ │ ├── InstanceActivatorResources.resx
│ │ │ ├── IPropertySelector.cs
│ │ │ ├── ProvidedInstance
│ │ │ │ ├── ProvidedInstanceActivator.cs
│ │ │ │ └── ProvidedInstanceActivatorResources.resx
│ │ │ └── Reflection
│ │ │ ├── AutowiringParameter.cs
│ │ │ ├── AutowiringPropertyInjector.cs
│ │ │ ├── BoundConstructor.cs
│ │ │ ├── BoundConstructorResources.resx
│ │ │ ├── ConstructorBinder.cs
│ │ │ ├── DefaultConstructorFinder.cs
│ │ │ ├── DefaultValueParameter.cs
│ │ │ ├── IConstructorFinder.cs
│ │ │ ├── IConstructorSelector.cs
│ │ │ ├── IConstructorSelectorWithEarlyBinding.cs
│ │ │ ├── InjectableProperty.cs
│ │ │ ├── InjectablePropertyState.cs
│ │ │ ├── MatchingSignatureConstructorSelector.cs
│ │ │ ├── MatchingSignatureConstructorSelectorResources.resx
│ │ │ ├── MostParametersConstructorSelector.cs
│ │ │ ├── MostParametersConstructorSelectorResources.resx
│ │ │ ├── NoConstructorsFoundException.cs
│ │ │ ├── NoConstructorsFoundExceptionResources.resx
│ │ │ ├── ReflectionActivator.cs
│ │ │ └── ReflectionActivatorResources.resx
│ │ ├── AutoActivateService.cs
│ │ ├── ComponentRegisteredEventArgs.cs
│ │ ├── ComponentRegistrationExtensions.cs
│ │ ├── ConstantParameter.cs
│ │ ├── Container.cs
│ │ ├── ContainerResources.resx
│ │ ├── DependencyResolutionException.cs
│ │ ├── Disposer.cs
│ │ ├── DisposerResources.resx
│ │ ├── IActivatedEventArgs.cs
│ │ ├── IActivatingEventArgs.cs
│ │ ├── IComponentLifetime.cs
│ │ ├── IComponentRegistration.cs
│ │ ├── IComponentRegistry.cs
│ │ ├── IComponentRegistryServices.cs
│ │ ├── IDisposer.cs
│ │ ├── IInstanceActivator.cs
│ │ ├── IModule.cs
│ │ ├── ImplicitRegistrationSource.cs
│ │ ├── ImplicitRegistrationSourceResources.resx
│ │ ├── InstanceOwnership.cs
│ │ ├── InstanceSharing.cs
│ │ ├── InternalReflectionCaches.cs
│ │ ├── IReflectionCache.cs
│ │ ├── IRegistrationSource.cs
│ │ ├── IServiceWithType.cs
│ │ ├── ISharingLifetimeScope.cs
│ │ ├── KeyedService.cs
│ │ ├── Lifetime
│ │ │ ├── CurrentScopeLifetime.cs
│ │ │ ├── LifetimeScopeBeginningEventArgs.cs
│ │ │ ├── LifetimeScope.cs
│ │ │ ├── LifetimeScopeEndingEventArgs.cs
│ │ │ ├── LifetimeScopeResources.resx
│ │ │ ├── MatchingScopeLifetime.cs
│ │ │ ├── MatchingScopeLifetimeResources.resx
│ │ │ ├── MatchingScopeLifetimeTags.cs
│ │ │ └── RootScopeLifetime.cs
│ │ ├── NamedPropertyParameter.cs
│ │ ├── Parameter.cs
│ │ ├── PreparingEventArgs.cs
│ │ ├── ReflectionCacheSet.cs
│ │ ├── ReflectionCacheSetResources.resx
│ │ ├── ReflectionCacheUsage.cs
│ │ ├── Registration
│ │ │ ├── ComponentNotRegisteredException.cs
│ │ │ ├── ComponentNotRegisteredExceptionResources.resx
│ │ │ ├── ComponentPipelineBuildingArgs.cs
│ │ │ ├── ComponentRegistration.cs
│ │ │ ├── ComponentRegistrationExtensions.cs
│ │ │ ├── ComponentRegistrationLifetimeDecorator.cs
│ │ │ ├── ComponentRegistrationResources.resx
│ │ │ ├── ComponentRegistryBuilder.cs
│ │ │ ├── ComponentRegistry.cs
│ │ │ ├── DefaultRegisteredServicesTracker.cs
│ │ │ ├── ExternalComponentRegistration.cs
│ │ │ ├── ExternalRegistryServiceMiddlewareSource.cs
│ │ │ ├── ExternalRegistrySource.cs
│ │ │ ├── IComponentRegistryBuilder.cs
│ │ │ ├── IModuleRegistrar.cs
│ │ │ ├── IPerScopeRegistrationSource.cs
│ │ │ ├── IRegisteredServicesTracker.cs
│ │ │ ├── IServiceMiddlewareSource.cs
│ │ │ ├── IServiceMiddlewareSourceRegistrar.cs
│ │ │ ├── ISourceRegistrar.cs
│ │ │ ├── ModuleRegistrar.cs
│ │ │ ├── ModuleRegistrarData.cs
│ │ │ ├── RegistrationOptions.cs
│ │ │ ├── RegistrationOptionsExtensions.cs
│ │ │ ├── ScopeRestrictedRegisteredServicesTracker.cs
│ │ │ ├── ServiceMiddlewareSourceRegistrar.cs
│ │ │ ├── ServiceRegistrationInfo.cs
│ │ │ ├── ServiceRegistrationInfoResources.resx
│ │ │ ├── ServiceWithTypeMiddlewareSource.cs
│ │ │ └── SourceRegistrar.cs
│ │ ├── RegistrationSourceAddedEventArgs.cs
│ │ ├── ResolvedParameter.cs
│ │ ├── Resolving
│ │ │ ├── ActivatorExtensions.cs
│ │ │ ├── BaseGenericResolveDelegateInvoker.cs
│ │ │ ├── ComponentActivationResources.resx
│ │ │ ├── IDependencyTrackingResolveOperation.cs
│ │ │ ├── IResolveOperation.cs
│ │ │ ├── Middleware
│ │ │ │ ├── ActivatorErrorHandlingMiddleware.cs
│ │ │ │ ├── CircularDependencyDetectorMessages.resx
│ │ │ │ ├── CircularDependencyDetectorMiddleware.cs
│ │ │ │ ├── CoreEventMiddleware.cs
│ │ │ │ ├── DelegateMiddleware.cs
│ │ │ │ ├── DisposalTrackingMiddleware.cs
│ │ │ │ ├── MiddlewareMessages.resx
│ │ │ │ ├── RegistrationPipelineInvokeMiddleware.cs
│ │ │ │ ├── ScopeSelectionMiddleware.cs
│ │ │ │ ├── SharingMiddleware.cs
│ │ │ │ └── StartableMiddleware.cs
│ │ │ ├── Pipeline
│ │ │ │ ├── DefaultResolveRequestContext.cs
│ │ │ │ ├── IResolveMiddleware.cs
│ │ │ │ ├── IResolvePipelineBuilder.cs
│ │ │ │ ├── IResolvePipeline.cs
│ │ │ │ ├── MiddlewareDeclaration.cs
│ │ │ │ ├── MiddlewareInsertionMode.cs
│ │ │ │ ├── PipelineBuilderEnumerator.cs
│ │ │ │ ├── PipelinePhase.cs
│ │ │ │ ├── PipelineType.cs
│ │ │ │ ├── ResolvePipelineBuilder.cs
│ │ │ │ ├── ResolvePipelineBuilderMessages.resx
│ │ │ │ ├── ResolveRequestContext.cs
│ │ │ │ └── ServicePipelines.cs
│ │ │ ├── ResolveEventType.cs
│ │ │ ├── ResolveOperationBeginningEventArgs.cs
│ │ │ ├── ResolveOperation.cs
│ │ │ ├── ResolveOperationEndingEventArgs.cs
│ │ │ ├── ResolveOperationResources.resx
│ │ │ ├── ResolvePipeline.cs
│ │ │ ├── ResolveRequestBeginningEventArgs.cs
│ │ │ ├── ResolveRequestCompletingEventArgs.cs
│ │ │ ├── SegmentedStack.cs
│ │ │ └── SegmentedStackResources.resx
│ │ ├── ScopeIsolatedService.cs
│ │ ├── SelfComponentRegistration.cs
│ │ ├── Service.cs
│ │ ├── ServiceRegistration.cs
│ │ ├── ServiceResources.resx
│ │ ├── TypedService.cs
│ │ └── UniqueService.cs
│ ├── Diagnostics
│ │ ├── DefaultDiagnosticTracer.cs
│ │ ├── DiagnosticEventKeys.cs
│ │ ├── DiagnosticSourceExtensions.cs
│ │ ├── DiagnosticTracerBase.cs
│ │ ├── MiddlewareDiagnosticData.cs
│ │ ├── OperationDiagnosticTracerBase.cs
│ │ ├── OperationFailureDiagnosticData.cs
│ │ ├── OperationStartDiagnosticData.cs
│ │ ├── OperationSuccessDiagnosticData.cs
│ │ ├── OperationTraceCompletedArgs.cs
│ │ ├── RequestDiagnosticData.cs
│ │ ├── RequestFailureDiagnosticData.cs
│ │ └── TracerMessages.resx
│ ├── Features
│ │ ├── AttributeFilters
│ │ │ ├── KeyFilterAttribute.cs
│ │ │ ├── MetadataFilterAttribute.cs
│ │ │ ├── ParameterFilterAttribute.cs
│ │ │ └── RegistrationExtensions.cs
│ │ ├── Collections
│ │ │ ├── CollectionRegistrationSource.cs
│ │ │ └── CollectionRegistrationSourceResources.resx
│ │ ├── Decorators
│ │ │ ├── DecoratorContext.cs
│ │ │ ├── DecoratorMiddleware.cs
│ │ │ ├── DecoratorService.cs
│ │ │ ├── IDecoratorContext.cs
│ │ │ └── OpenGenericDecoratorMiddlewareSource.cs
│ │ ├── GeneratedFactories
│ │ │ ├── FactoryGenerator.cs
│ │ │ ├── GeneratedFactoryActivatorData.cs
│ │ │ ├── GeneratedFactoryRegistrationExtensions.cs
│ │ │ ├── GeneratedFactoryRegistrationSource.cs
│ │ │ ├── GeneratedFactoryRegistrationSourceResources.resx
│ │ │ └── ParameterMapping.cs
│ │ ├── Indexed
│ │ │ ├── IIndex.cs
│ │ │ └── KeyedServiceIndex.cs
│ │ ├── LazyDependencies
│ │ │ ├── LazyRegistrationSource.cs
│ │ │ ├── LazyRegistrationSourceResources.resx
│ │ │ ├── LazyWithMetadataRegistrationSource.cs
│ │ │ └── LazyWithMetadataRegistrationSourceResources.resx
│ │ ├── LightweightAdapters
│ │ │ ├── LightweightAdapterActivatorData.cs
│ │ │ ├── LightweightAdapterRegistrationExtensions.cs
│ │ │ ├── LightweightAdapterRegistrationSource.cs
│ │ │ └── LightweightAdapterRegistrationSourceResources.resx
│ │ ├── Metadata
│ │ │ ├── MetadataViewProvider.cs
│ │ │ ├── MetadataViewProviderResources.resx
│ │ │ ├── MetaRegistrationSource.cs
│ │ │ ├── MetaRegistrationSourceResources.resx
│ │ │ ├── Meta{T}.cs
│ │ │ ├── Meta{T,TMetadata}.cs
│ │ │ └── StronglyTypedMetaRegistrationSource.cs
│ │ ├── OpenGenerics
│ │ │ ├── OpenGenericDecoratorActivatorData.cs
│ │ │ ├── OpenGenericDecoratorActivatorDataResources.resx
│ │ │ ├── OpenGenericDecoratorRegistrationSource.cs
│ │ │ ├── OpenGenericDecoratorRegistrationSourceResources.resx
│ │ │ ├── OpenGenericDelegateActivatorData.cs
│ │ │ ├── OpenGenericDelegateRegistrationSource.cs
│ │ │ ├── OpenGenericDelegateRegistrationSourceResources.resx
│ │ │ ├── OpenGenericRegistrationExtensions.cs
│ │ │ ├── OpenGenericRegistrationExtensionsResources.resx
│ │ │ ├── OpenGenericRegistrationSource.cs
│ │ │ ├── OpenGenericRegistrationSourceResources.resx
│ │ │ ├── OpenGenericServiceBinder.cs
│ │ │ └── OpenGenericServiceBinderResources.resx
│ │ ├── OwnedInstances
│ │ │ ├── InstancePerOwnedKey.cs
│ │ │ ├── Owned.cs
│ │ │ ├── OwnedInstanceRegistrationSource.cs
│ │ │ └── OwnedInstanceRegistrationSourceResources.resx
│ │ ├── ResolveAnything
│ │ │ ├── AnyConcreteTypeNotAlreadyRegisteredSource.cs
│ │ │ ├── AnyConcreteTypeNotAlreadyRegisteredSourceExtensions.cs
│ │ │ └── AnyConcreteTypeNotAlreadyRegisteredSourceResources.resx
│ │ ├── Scanning
│ │ │ ├── AssemblyExtensions.cs
│ │ │ ├── BaseScanningActivatorData.cs
│ │ │ ├── OpenGenericScanningActivatorData.cs
│ │ │ ├── OpenGenericScanningRegistrationExtensions.cs
│ │ │ ├── ScanningActivatorData.cs
│ │ │ ├── ScanningRegistrationExtensions.cs
│ │ │ └── TypeExtensions.cs
│ │ └── Variance
│ │ └── ContravariantRegistrationSource.cs
│ ├── IComponentContext.cs
│ ├── IContainer.cs
│ ├── ILifetimeScope.cs
│ ├── IStartable.cs
│ ├── Module.cs
│ ├── ModuleRegistrationExtensions.cs
│ ├── ModuleResources.resx
│ ├── NamedParameter.cs
│ ├── ParameterExtensions.cs
│ ├── PipelineBuilderExtensions.cs
│ ├── PositionalParameter.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── PropertyWiringOptions.cs
│ ├── RegistrationExtensions.Adapter.cs
│ ├── RegistrationExtensions.AssemblyScanning.cs
│ ├── RegistrationExtensions.Composite.cs
│ ├── RegistrationExtensions.Conditional.cs
│ ├── RegistrationExtensions.cs
│ ├── RegistrationExtensions.Decorators.cs
│ ├── RegistrationExtensions.EventHandler.cs
│ ├── RegistrationExtensions.Generics.cs
│ ├── RegistrationExtensions.Keyed.cs
│ ├── RegistrationExtensions.Named.cs
│ ├── RegistrationExtensions.OpenGenericAssemblyScanning.cs
│ ├── RegistrationExtensionsResources.resx
│ ├── ResolutionExtensions.cs
│ ├── ResolutionExtensionsResources.resx
│ ├── ResolutionValueExtensions.cs
│ ├── ResolveRequest.cs
│ ├── ScanningFilterExtensions.cs
│ ├── ServiceMiddlewareRegistrationExtensions.cs
│ ├── SourceRegistrationExtensions.cs
│ ├── TypedParameter.cs
│ ├── TypeExtensions.cs
│ ├── TypeExtensionsResources.resx
│ └── Util
│ ├── AssemblyExtensions.cs
│ ├── AsyncReleaseAction.cs
│ ├── Cache
│ │ ├── ReflectionCacheAssemblyDictionary.cs
│ │ ├── ReflectionCacheDictionary.cs
│ │ ├── ReflectionCacheTupleDictionary.cs
│ │ └── TypeAssemblyReferenceProvider.cs
│ ├── Disposable.cs
│ ├── Enforce.cs
│ ├── EnforceResources.resx
│ ├── FallbackDictionary.cs
│ ├── FallbackDictionaryResources.resx
│ ├── InternalTypeExtensions.cs
│ ├── LinkerAttributes.cs
│ ├── NullableAttributes.cs
│ ├── ReflectionExtensions.cs
│ ├── ReflectionExtensionsResources.resx
│ ├── ReleaseAction.cs
│ ├── SequenceExtensions.cs
│ ├── SequenceGenerator.cs
│ ├── Traverse.cs
│ └── ValidatedNotNullAttribute.cs
└── test
├── Autofac.Specification.Test
│ ├── Autofac.Specification.Test.csproj
│ ├── ContainerBuilderTests.cs
│ ├── Diagnostics
│ │ ├── DefaultDiagnosticTracerTests.cs
│ │ └── DiagnosticTracerBaseTests.cs
│ ├── Features
│ │ ├── CircularDependency
│ │ │ ├── A.cs
│ │ │ ├── BC.cs
│ │ │ ├── D.cs
│ │ │ ├── DependsByCtor.cs
│ │ │ ├── DependsByProp.cs
│ │ │ ├── IA.cs
│ │ │ ├── IB.cs
│ │ │ ├── IC.cs
│ │ │ └── ID.cs
│ │ ├── CircularDependencyTests.cs
│ │ ├── CompositeTests.cs
│ │ ├── DecoratorTests.cs
│ │ ├── IndexTests.cs
│ │ ├── MetadataTests.cs
│ │ ├── PropertyInjection
│ │ │ ├── CtorWithValueParameter.cs
│ │ │ ├── HasMixedVisibilityProperties.cs
│ │ │ ├── HasProtectedSetterWithDefaultValue.cs
│ │ │ ├── HasPublicSetter.cs
│ │ │ ├── HasPublicSetterDerived.cs
│ │ │ ├── HasPublicSetterWithDefaultValue.cs
│ │ │ ├── HasStaticSetter.cs
│ │ │ ├── HasWriteOnlyProperty.cs
│ │ │ ├── InjectAttribute.cs
│ │ │ └── InjectAttributePropertySelector.cs
│ │ ├── PropertyInjectionTests.cs
│ │ ├── RequiredPropertyTests.cs
│ │ └── StartableTests.cs
│ ├── Lifetime
│ │ ├── AsyncDisposeProvidedInstanceTests.cs
│ │ ├── DisposalTests.cs
│ │ ├── ExternallyOwnedTests.cs
│ │ ├── InstancePerDependencyTests.cs
│ │ ├── InstancePerLifetimeScopeTests.cs
│ │ ├── InstancePerMatchingLifetimeScopeTests.cs
│ │ ├── InstancePerOwnedTests.cs
│ │ ├── LifetimeEventTests.cs
│ │ ├── NestedScopeTests.cs
│ │ ├── ProvidedInstanceTests.cs
│ │ └── SingleInstanceTests.cs
│ ├── LoadContextScopeTests.cs
│ ├── ParameterFilterTests.cs
│ ├── Registration
│ │ ├── Adapters
│ │ │ ├── AnotherCommand.cs
│ │ │ ├── Command.cs
│ │ │ ├── IToolbarButton.cs
│ │ │ └── ToolbarButton.cs
│ │ ├── AssemblyScanningPerformanceTests.cs
│ │ ├── AssemblyScanningTests.cs
│ │ ├── InstanceRegistrationTests.cs
│ │ ├── KeyedRegistrationTests.cs
│ │ ├── LambdaGenericOverloadRegistrationTests.cs
│ │ ├── LambdaRegistrationTests.cs
│ │ ├── ModuleRegistrationTests.cs
│ │ ├── NestedScopeRegistrationTests.cs
│ │ ├── OpenGenericDelegateTests.cs
│ │ ├── OpenGenericTests.cs
│ │ ├── OpenGenericWithMultipleInterfacesTests.cs
│ │ ├── OrderingTests.cs
│ │ ├── ParameterTests.cs
│ │ ├── PropertyDictionaryTests.cs
│ │ ├── RegistrationOnlyIfTests.cs
│ │ └── TypeRegistrationTests.cs
│ ├── Resolution
│ │ ├── ComplexGraphTests.cs
│ │ ├── ConstructorFinderTests.cs
│ │ ├── ConstructorSelectorTests.cs
│ │ └── Graph1
│ │ ├── A1.cs
│ │ ├── B1.cs
│ │ ├── C1.cs
│ │ ├── CD1.cs
│ │ ├── E1.cs
│ │ ├── F1.cs
│ │ ├── GenericConstraints
│ │ │ ├── A.cs
│ │ │ ├── ClassWithParameterlessButNotPublicConstructor.cs
│ │ │ ├── IA.cs
│ │ │ ├── IB.cs
│ │ │ ├── Required.cs
│ │ │ └── Unrelated.cs
│ │ ├── IC1.cs
│ │ └── ID1.cs
│ └── Util
│ ├── AsyncOnlyDisposeTracker.cs
│ └── DisposeTracker.cs
├── Autofac.Test
│ ├── ActivatorPipelineExtensions.cs
│ ├── Assertions.cs
│ ├── Autofac.Test.csproj
│ ├── Builder
│ │ ├── DeferredCallbackTests.cs
│ │ ├── DelegateRegistrationBuilderTests.cs
│ │ ├── PropertyInjectionTests.cs
│ │ ├── ProvidedInstanceRegistrationBuilderTests.cs
│ │ ├── ReflectiveRegistrationBuilderTests.cs
│ │ └── RegistrationBuilderTests.cs
│ ├── CircularDependencyTests.cs
│ ├── Concurrency
│ │ └── ConcurrencyTests.cs
│ ├── ContainerBuilderTests.cs
│ ├── Core
│ │ ├── Activators
│ │ │ ├── Delegate
│ │ │ │ └── DelegateActivatorTests.cs
│ │ │ ├── ProvidedInstance
│ │ │ │ └── ProvidedInstanceActivatorTests.cs
│ │ │ └── Reflection
│ │ │ ├── ConstructorBinderTests.cs
│ │ │ ├── DefaultConstructorFinderTests.cs
│ │ │ ├── DefaultValueParameterTests.cs
│ │ │ ├── MatchingSignatureConstructorSelectorTests.cs
│ │ │ ├── MostParametersConstructorSelectorTests.cs
│ │ │ ├── RecordTests.cs
│ │ │ └── ReflectionActivatorTests.cs
│ │ ├── ComponentRegisteredEventArgsTests.cs
│ │ ├── ComponentRegistrationExtensionsTests.cs
│ │ ├── ComponentRegistrationTests.cs
│ │ ├── ContainerTests.cs
│ │ ├── DefaultPropertySelectorTests.cs
│ │ ├── DelegatePropertySelectorTests.cs
│ │ ├── DependencyResolutionExceptionTests.cs
│ │ ├── DisposerTests.cs
│ │ ├── ImplicitRegistrationSourceTests.cs
│ │ ├── KeyedServiceTests.cs
│ │ ├── Lifetime
│ │ │ ├── LifetimeScopeTests.cs
│ │ │ └── MatchingScopeLifetimeTests.cs
│ │ ├── NamedPropertyParameterTests.cs
│ │ ├── Pipeline
│ │ │ └── PipelineBuilderTests.cs
│ │ ├── PreserveExistingDefaultsTests.cs
│ │ ├── PropertyInjectionInitOnlyTests.cs
│ │ ├── ReflectionCacheSetTests.cs
│ │ ├── Registration
│ │ │ ├── ComponentRegistrationLifetimeDecoratorTests.cs
│ │ │ ├── ComponentRegistryTests.cs
│ │ │ ├── ModuleRegistrarTests.cs
│ │ │ ├── ScopeRestrictedRegisteredServicesTrackerTests.cs
│ │ │ └── SourceRegistrarTests.cs
│ │ ├── ResolvedParameterTests.cs
│ │ ├── Resolving
│ │ │ ├── CircularDependencyDetectorTests.cs
│ │ │ ├── Middleware
│ │ │ │ └── CircularDependencyMiddlewareTests.cs
│ │ │ ├── ResolveOperationTests.cs
│ │ │ └── SegmentedStackTests.cs
│ │ └── TypedServiceTests.cs
│ ├── Diagnostics
│ │ ├── DiagnosticSourceExtensionsTests.cs
│ │ ├── DiagnosticTracerBaseTests.cs
│ │ └── OperationDiagnosticTracerBaseTests.cs
│ ├── Factory.cs
│ ├── Features
│ │ ├── AttributeFilters
│ │ │ └── WithAttributeFilterTestFixture.cs
│ │ ├── Collections
│ │ │ ├── CollectionOrderingTests.cs
│ │ │ └── CollectionRegistrationSourceTests.cs
│ │ ├── Decorators
│ │ │ ├── DecoratorContextTests.cs
│ │ │ ├── DecoratorMiddlewareTests.cs
│ │ │ ├── DecoratorServiceTests.cs
│ │ │ ├── DecoratorTests.cs
│ │ │ ├── OpenGenericDecoratorTests.cs
│ │ │ └── RegistrationExtensionsTests.cs
│ │ ├── GeneratedFactories
│ │ │ └── GeneratedFactoriesTests.cs
│ │ ├── Indexed
│ │ │ └── KeyedServiceIndexTests.cs
│ │ ├── LazyDependencies
│ │ │ ├── LazyRegistrationSourceTests.cs
│ │ │ ├── LazyWithMetadata_WhenMetadataIsSupplied.cs
│ │ │ └── LazyWithMetadata_WhenNoMatchingMetadataIsSupplied.cs
│ │ ├── LightweightAdapters
│ │ │ ├── LightweightAdapterRegistrationExtensionsTests.cs
│ │ │ └── LightweightAdapterRegistrationSourceTests.cs
│ │ ├── Metadata
│ │ │ ├── MetaRegistrationSourceTests.cs
│ │ │ ├── StronglyTypedMeta_WhenMetadataIsSupplied.cs
│ │ │ ├── StronglyTypedMeta_WhenNoMatchingMetadataIsSupplied.cs
│ │ │ └── TestTypes
│ │ │ ├── IMyMetaInterface.cs
│ │ │ ├── MyMeta.cs
│ │ │ ├── MyMetaWithDefault.cs
│ │ │ ├── MyMetaWithDictionary.cs
│ │ │ ├── MyMetaWithInvalidConstructor.cs
│ │ │ └── MyMetaWithReadOnlyProperty.cs
│ │ ├── OpenGenerics
│ │ │ ├── ComplexGenericScenarios
│ │ │ │ ├── CompanyA
│ │ │ │ │ ├── CompositeValidator{T}.cs
│ │ │ │ │ └── IValidator{T}.cs
│ │ │ │ ├── CompanyB
│ │ │ │ │ ├── CompositeValidator{T}.cs
│ │ │ │ │ └── IValidatorSomeOtherName{T}.cs
│ │ │ │ └── FluentValidation
│ │ │ │ ├── AbstractValidator{T}.cs
│ │ │ │ └── IValidator{T}.cs
│ │ │ ├── ComplexGenericsTests.cs
│ │ │ ├── GenericsForNullableScenarioTests.cs
│ │ │ ├── OpenGenericDecoratorTests.cs
│ │ │ ├── OpenGenericRegistrationExtensionsTests.cs
│ │ │ └── OpenGenericRegistrationSourceTests.cs
│ │ ├── OwnedInstances
│ │ │ ├── InstancePerOwnedKeyTests.cs
│ │ │ ├── OwnedInstanceRegistrationSourceTests.cs
│ │ │ └── OwnedTests.cs
│ │ ├── ResolveAnything
│ │ │ └── ResolveAnythingTests.cs
│ │ ├── Scanning
│ │ │ ├── OpenGenericScanningRegistrationTests.cs
│ │ │ └── ScanningRegistrationTests.cs
│ │ └── Variance
│ │ └── ContravariantRegistrationSourceTests.cs
│ ├── Mocks.cs
│ ├── ModuleTests.cs
│ ├── NamedParameterTests.cs
│ ├── ResolutionExtensionsTests.cs
│ ├── Scenarios
│ │ ├── Adapters
│ │ │ ├── AnotherCommand.cs
│ │ │ ├── Command.cs
│ │ │ ├── IToolbarButton.cs
│ │ │ └── ToolbarButton.cs
│ │ ├── ConstructorSelection
│ │ │ └── MultipleConstructors.cs
│ │ ├── Dependencies
│ │ │ ├── Circularity
│ │ │ │ ├── A.cs
│ │ │ │ ├── BC.cs
│ │ │ │ ├── D.cs
│ │ │ │ ├── IA.cs
│ │ │ │ ├── IB.cs
│ │ │ │ ├── IC.cs
│ │ │ │ └── ID.cs
│ │ │ ├── Dependent.cs
│ │ │ ├── DependsByCtor.cs
│ │ │ └── DependsByProp.cs
│ │ ├── Graph1
│ │ │ ├── A1.cs
│ │ │ ├── B1.cs
│ │ │ ├── C1.cs
│ │ │ ├── CD1.cs
│ │ │ ├── E1.cs
│ │ │ ├── F1.cs
│ │ │ ├── IC1.cs
│ │ │ └── ID1.cs
│ │ ├── Parameterization
│ │ │ └── Parameterized.cs
│ │ ├── RegistrationSources
│ │ │ └── ObjectRegistrationSource.cs
│ │ └── WithProperty
│ │ └── WithProps.cs
│ ├── SourceRegistrationExtensionsTests.cs
│ ├── TagsFixture.cs
│ ├── TypedParameterTests.cs
│ ├── TypeExtensionsTests.cs
│ └── Util
│ ├── AsyncDisposeTracker.cs
│ ├── AsyncOnlyDisposeTracker.cs
│ ├── Cache
│ │ ├── ReflectionCacheAssemblyDictionaryTests.cs
│ │ ├── ReflectionCacheDictionaryTests.cs
│ │ ├── ReflectionCacheTupleDictionaryTests.cs
│ │ └── TypeAssemblyReferenceProviderTests.cs
│ ├── DelegateExtensionsTests.cs
│ ├── DisposeTracker.cs
│ ├── EnforceTests.cs
│ ├── FallbackDictionaryTests.cs
│ ├── InternalTypeExtensionsTests.cs
│ └── SequenceGeneratorTests.cs
├── Autofac.Test.CodeGen
│ ├── Autofac.Test.CodeGen.csproj
│ ├── DelegateRegisterGeneratorTests.cs
│ ├── Helpers
│ │ ├── CompilationVerifier.cs
│ │ └── ModuleInitializer.cs
│ ├── README.md
│ └── Snapshots
│ ├── DelegateRegisterGeneratorTests.VerifyGeneratedCode#00.verified.cs
│ └── DelegateRegisterGeneratorTests.VerifyGeneratedCode#01.verified.cs
├── Autofac.Test.Compilation
│ ├── AutofacCompile.cs
│ ├── Autofac.Test.Compilation.csproj
│ ├── BaseClass.cs
│ ├── DerivedClass.cs
│ ├── NullableReferenceTests.cs
│ └── SimpleReferenceType.cs
├── Autofac.Test.Scenarios.LoadContext
│ ├── Autofac.Test.Scenarios.LoadContext.csproj
│ ├── LifetimeScopeEndingModule.cs
│ ├── OnActivatedModule.cs
│ └── Service1.cs
├── Autofac.Test.Scenarios.ScannedAssembly
│ ├── A2Component.cs
│ ├── AComponent.cs
│ ├── ADisposable.cs
│ ├── AModule.cs
│ ├── Autofac.Test.Scenarios.ScannedAssembly.csproj
│ ├── BComponent.cs
│ ├── BModule.cs
│ ├── CloseCommand.cs
│ ├── CommandBase.cs
│ ├── DeleteCommand.cs
│ ├── DeleteCommandData.cs
│ ├── DeleteOpenGenericCommand.cs
│ ├── HasDeferredEnumerable.cs
│ ├── HasNestedFactoryDelegate.cs
│ ├── IAService.cs
│ ├── IBService.cs
│ ├── ICloseCommand.cs
│ ├── ICommand.cs
│ ├── IHaveDeferredEnumerable.cs
│ ├── InternalComponent.cs
│ ├── IOpenGenericAService.cs
│ ├── IOpenGenericBService.cs
│ ├── Message.cs
│ ├── MetadataAttributeScanningScenario
│ │ ├── DuplicatedNameAttribute.cs
│ │ ├── IHaveName.cs
│ │ ├── NameAttribute.cs
│ │ ├── OpenGenericScannedComponentWithMultipleNames.cs
│ │ ├── OpenGenericScannedComponentWithName.cs
│ │ └── ScannedComponentWithName.cs
│ ├── ModuleBase.cs
│ ├── NestedComponent.cs
│ ├── OpenGenericA2Component.cs
│ ├── OpenGenericAComponent.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RedoCommandData.cs
│ ├── RedoOpenGenericCommand.cs
│ ├── SaveCommand.cs
│ ├── SaveCommandData.cs
│ ├── StringMessage.cs
│ ├── UndoCommandData.cs
│ └── UndoRedoCommand.cs
└── README.md
107 directories, 659 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论