/// <summary> /// Create an instance of the <see cref="InstanceLookupBeginningEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is ending.</param> /// <param name="newInstanceActivated">True if a new instance was created as part of the operation.</param> public InstanceLookupEndingEventArgs(IInstanceLookup instanceLookup, bool newInstanceActivated) { if (instanceLookup == null) throw new ArgumentNullException(nameof(instanceLookup)); InstanceLookup = instanceLookup; NewInstanceActivated = newInstanceActivated; }
public override Boolean CanSupplyValue(ParameterInfo pi, IComponentContext context, out Func <Object> valueProvider) { if (pi == null) { throw new ArgumentNullException("pi"); } if (context == null) { throw new ArgumentNullException("context"); } IInstanceLookup lookup = context as IInstanceLookup; if (lookup != null) { IComponentRegistration registration; if (context.ComponentRegistry.TryGetRegistration(new TypedService(pi.ParameterType), out registration)) { Type restrictedType; if (this._restrictingRegistrationModule.RestrictedRegistrations.TryGetValue(registration, out restrictedType)) { Type callerType = lookup.ComponentRegistration.Activator.LimitType; if (!(callerType == restrictedType || callerType.IsSubclassOf(restrictedType))) { throw new Exception(String.Format("Registration {0} is not compatible for type {1}", registration, callerType)); } } valueProvider = (() => context.ResolveComponent(registration, Enumerable.Empty <Parameter>())); return(true); } } valueProvider = null; return(false); }
/// <summary> /// Create an instance of the <see cref="InstanceLookupCompletionEndingEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is ending the completion phase.</param> public InstanceLookupCompletionEndingEventArgs(IInstanceLookup instanceLookup) { if (instanceLookup == null) { throw new ArgumentNullException("instanceLookup"); } _instanceLookup = instanceLookup; }
public InstanceLookupBeginningEventArgs(IInstanceLookup instanceLookup) { if (instanceLookup == null) { throw new ArgumentNullException("instanceLookup"); } this._instanceLookup = instanceLookup; }
void AttachToInstanceLookup(IInstanceLookup instanceLookup, ResolveOperationModel resolveOperation) { var instanceLookupModel = ModelMapper.GetInstanceLookupModel(instanceLookup, resolveOperation); Send(new InstanceLookupBeginningMessage(instanceLookupModel)); instanceLookup.InstanceLookupEnding += (s, e) => Send(new InstanceLookupEndingMessage(instanceLookupModel.Id, e.NewInstanceActivated)); instanceLookup.CompletionBeginning += (s, e) => Send(new InstanceLookupCompletionBeginningMessage(instanceLookupModel.Id)); instanceLookup.CompletionEnding += (s, e) => Send(new InstanceLookupCompletionEndingMessage(instanceLookupModel.Id)); }
/// <summary> /// Create an instance of the <see cref="InstanceLookupBeginningEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is ending.</param> /// <param name="newInstanceActivated">True if a new instance was created as part of the operation.</param> public InstanceLookupEndingEventArgs(IInstanceLookup instanceLookup, bool newInstanceActivated) { if (instanceLookup == null) { throw new ArgumentNullException("instanceLookup"); } _instanceLookup = instanceLookup; _newInstanceActivated = newInstanceActivated; }
/// <param name="instanceLookup">The instance lookup that is ending.</param> public InstanceLookupBeginningEventArgs(IInstanceLookup instanceLookup) { if (instanceLookup == null) { throw new ArgumentNullException(nameof(instanceLookup)); } InstanceLookup = instanceLookup; }
/// <summary> /// Create an instance of the <see cref="InstanceLookupCompletionEndingEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is ending the completion phase.</param> public InstanceLookupCompletionEndingEventArgs(IInstanceLookup instanceLookup) { if (instanceLookup == null) throw new ArgumentNullException("instanceLookup"); _instanceLookup = instanceLookup; }
public static IResolveOperation Context(this IInstanceLookup instanceLookup) { return((IResolveOperation)ContextFieldInfo.GetValue(instanceLookup)); }
/// <summary> /// Create an instance of the <see cref="InstanceLookupCompletionBeginningEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is beginning the completion phase.</param> public InstanceLookupCompletionBeginningEventArgs(IInstanceLookup instanceLookup) { if (instanceLookup == null) throw new ArgumentNullException(nameof(instanceLookup)); InstanceLookup = instanceLookup; }
/// <summary> /// Create an instance of the <see cref="InstanceLookupBeginningEventArgs"/> class. /// </summary> /// <param name="instanceLookup">The instance lookup that is ending.</param> /// <param name="newInstanceActivated">True if a new instance was created as part of the operation.</param> public InstanceLookupEndingEventArgs(IInstanceLookup instanceLookup, bool newInstanceActivated) { if (instanceLookup == null) throw new ArgumentNullException("instanceLookup"); _instanceLookup = instanceLookup; _newInstanceActivated = newInstanceActivated; }
public InstanceLookupModel GetInstanceLookupModel(IInstanceLookup instanceLookup, ResolveOperationModel resolveOperation) { return(new InstanceLookupModel(NewId(), resolveOperation.Id, GetComponentId(instanceLookup.ComponentRegistration), _idTracker.GetIdOrUnknown(instanceLookup.ActivationScope), Enumerable.Empty <ParameterModel>())); }
public InstanceLookupModel GetInstanceLookupModel(IInstanceLookup instanceLookup, ResolveOperationModel resolveOperation) { return new InstanceLookupModel(NewId(), resolveOperation.Id, GetComponentId(instanceLookup.ComponentRegistration), _idTracker.GetIdOrUnknown(instanceLookup.ActivationScope), Enumerable.Empty<ParameterModel>()); }