Пример #1
0
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <UserControl>(uc =>
     {
         if (!activating)
         {
             activating = true;
             context.Kernel.InjectDescendantOf(uc);
             activating = false;
         }
     });
     reference.IfInstanceIs <Form>(form =>
     {
         if (!activating)
         {
             activating = true;
             context.Kernel.InjectDescendantOf(form);
             activating = false;
         }
     });
 }
Пример #2
0
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <UserControl>(uc =>
     {
         if (!_activatingControls)
         {
             Trace.TraceInformation("Activate. Injecting dependencies in User control of type {0}", uc.GetType());
             _activatingControls = true;
             context.Kernel.InjectDescendantOf(uc);
             _activatingControls = false;
         }
     });
     reference.IfInstanceIs <Form>(form =>
     {
         if (!_activatingControls)
         {
             Trace.TraceInformation("Activate. Injecting dependencies in Form of type {0}", form.GetType());
             _activatingControls = true;
             context.Kernel.InjectDescendantOf(form);
             _activatingControls = false;
         }
     });
 }
        /// <summary>
        /// Disposes the specified instance.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="reference">A reference to the instance being deactivated.</param>
        public override void Deactivate(IContext context, InstanceReference reference)
        {
            reference.IfInstanceIs<ICommunicationObject>(x =>
                {
                    if (x.State == CommunicationState.Faulted)
                    {
                        x.Abort();
                    }
                    else
                    {
                        try
                        {
                            x.Close();
                        }
                        catch
                        {
                            x.Abort();
                        }
                    }
                });

            base.Deactivate(context, reference);
        }
        /// <summary>
        /// Disposes the specified instance.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="reference">A reference to the instance being deactivated.</param>
        public override void Deactivate(IContext context, InstanceReference reference)
        {
            reference.IfInstanceIs <ICommunicationObject>(x =>
            {
                if (x.State == CommunicationState.Faulted)
                {
                    x.Abort();
                }
                else
                {
                    try
                    {
                        x.Close();
                    }
                    catch
                    {
                        x.Abort();
                    }
                }
            });

            base.Deactivate(context, reference);
        }
Пример #5
0
 /// <summary>
 /// Initializes the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being activated.</param>
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs<IInitializable>(x => x.Initialize());
 }
        /// <summary>
        /// Disposes the specified instance.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="reference">A reference to the instance being deactivated.</param>
        public override void Deactivate(IContext context, InstanceReference reference)
        {
            reference.IfInstanceIs <ICommunicationObject>(x => x.CloseOrAbort());

            base.Deactivate(context, reference);
        }
Пример #7
0
 /// <summary>
 /// Disposes the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being deactivated.</param>
 public override void Deactivate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs<IDisposable>(x => x.Dispose());
 }
Пример #8
0
 /// <summary>
 /// Stops the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being deactivated.</param>
 public override void Deactivate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs<IStartable>(x => x.Stop());
 }
 /// <summary>
 /// Activates the specified context.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">The reference.</param>
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <ContextPreservingResolutionRoot>(namedScopeResolutionRoot => DefineParentContext(context, namedScopeResolutionRoot));
 }
Пример #10
0
 /// <summary>
 /// Disposes the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being deactivated.</param>
 public override void Deactivate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <IDisposable>(x => x.Dispose());
 }
Пример #11
0
 /// <summary>
 /// Stops the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being deactivated.</param>
 public override void Deactivate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <IStartable>(x => x.Stop());
 }
Пример #12
0
 /// <summary>
 /// Initializes the specified instance.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">A reference to the instance being activated.</param>
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs <IInitializable>(x => x.Initialize());
 }
        /// <summary>
        /// Disposes the specified instance.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="reference">A reference to the instance being deactivated.</param>
        public override void Deactivate(IContext context, InstanceReference reference)
        {
            reference.IfInstanceIs<ICommunicationObject>(x => x.CloseOrAbort());

            base.Deactivate(context, reference);
        }
 public void Deactivate(IContext context, InstanceReference reference) {
     reference.IfInstanceIs<ISubscriber>(s => {
                                             var eventAggregator = context.Kernel.Get<IEventAggregator>();
                                             eventAggregator.Unsubscribe(s);
                                         });
 }
 /// <summary>
 /// Activates the specified context.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="reference">The reference.</param>
 public override void Activate(IContext context, InstanceReference reference)
 {
     reference.IfInstanceIs<ContextPreservingResolutionRoot>(namedScopeResolutionRoot => DefineParentContext(context, namedScopeResolutionRoot));
 }