Beispiel #1
0
 // TODO: Put strings into the resources.
 //
 public DependencyResolutionSpecs(
     Type dependencyType,
     bool ensureResolution                                = false,
     bool isNewInstanceRequired                           = false,
     IArgsTuple newInstanceFactoryArgs                    = null,
     bool preventNewInstanceInitialization                = false,
     IDependencyResolutionModel primaryResolutionModel    = null,
     IDependencyResolutionSelectCriterion selectCriterion = null,
     IDisposeRegistry disposeRegistry                     = null)
 {
     //
     dependencyType.EnsureNotNull(nameof(dependencyType));
     if (!isNewInstanceRequired && newInstanceFactoryArgs != null)
     {
         throw
             new ArgumentException(
                 message: $"Этот аргумент не применим и должен иметь значение '{((object)null).FmtStr().G()}', когда значение аргумента '{nameof(isNewInstanceRequired)}' равно '{false.FmtStr().G()}'.",
                 paramName: nameof(newInstanceFactoryArgs));
     }
     //
     _dependencyType                   = dependencyType;
     _ensureResolution                 = ensureResolution;
     _isNewInstanceRequired            = isNewInstanceRequired;
     _newInstanceFactoryArgs           = newInstanceFactoryArgs;
     _preventNewInstanceInitialization = preventNewInstanceInitialization;
     _primaryResolutionModel           = primaryResolutionModel;
     _selectCriterion                  = selectCriterion;
     _disposeRegistry                  = disposeRegistry;
 }
Beispiel #2
0
 protected override void Dispose(bool explicitDispose)
 {
     _dependencyType         = null;
     _primaryResolutionModel = null;
     _selectCriterion        = null;
     _newInstanceFactoryArgs = null;
     _disposeRegistry        = null;
     //
     base.Dispose(explicitDispose);
 }
 public DependencyResolutionSpecs(
     Type dependencyTypeConstraint                     = null,
     bool ensureResolution                             = false,
     bool isNewInstanceRequired                        = false,
     IArgsTuple newInstanceFactoryArgs                 = null,
     bool preventNewInstanceInitialization             = false,
     IDependencyResolutionModel primaryResolutionModel = null,
     IDependencyResolutionSelectCriterion <TDependency> selectCriterion = null,
     IDisposeRegistry disposeRegistry = null)
     : base(
         dependencyType: dependencyTypeConstraint.Arg(nameof(dependencyTypeConstraint)).EnsureCompatible(__DependencyType).Value ?? __DependencyType,
         ensureResolution: ensureResolution,
         isNewInstanceRequired: isNewInstanceRequired,
         newInstanceFactoryArgs: newInstanceFactoryArgs,
         preventNewInstanceInitialization: preventNewInstanceInitialization,
         primaryResolutionModel: primaryResolutionModel,
         selectCriterion: selectCriterion,
         disposeRegistry: disposeRegistry)
 {
     _selectCriterion = selectCriterion;
 }