void TryRegisterInstance <T>() where T : class
        {
            Func <IObjectContainer, T> accessor = c => c.Resolve <T>();

            try
            {
                var instance = accessor(specflowContainer);
                screenplayContainer.AddRegistrations(b => b.RegisterInstance(instance));
            }
            catch (ObjectContainerException) { }
        }
Exemple #2
0
        public BoDiContainerProxy(FlexDi.IContainer proxiedContainer)
        {
            if (proxiedContainer == null)
            {
                throw new ArgumentNullException(nameof(proxiedContainer));
            }
            this.proxiedContainer = proxiedContainer;

            proxiedContainer.AddRegistrations(r => r.RegisterInstance(this).As <IObjectContainer>());

            proxiedContainer.ServiceResolved += (sender, e) => {
                if (e.Registration is TypeRegistration)
                {
                    InvokeObjectCreated(e.Instance);
                }
            };
        }
Exemple #3
0
 public void RegisterFactoryAs <TInterface>(Func <IObjectContainer, TInterface> factoryDelegate, string name = null)
 {
     proxiedContainer.AddRegistrations(r => r.RegisterFactory(factoryDelegate, typeof(TInterface)).WithName(name));
 }