DependencyInjector.Resolve C# (CSharp) Method

Resolve() static private method

static private Resolve ( Type type ) : object
type Type
return object
    static object Resolve(Type type)
    {
        object component;

        if (components.TryGetValue(type, out component))
        {
            if (placeholder == component)
                throw new Exception("Cyclic dependency detected in " + type);
        }
        else
        {
            components[type] = placeholder;
            component = components[type] = CreateComponent(type);
        }
        
        return component;
    }

Same methods

DependencyInjector::Resolve ( ) : T

Usage Example

Example #1
0
        public void IEnumerableInConstructor()
        {
            Configuration configuration = new Configuration();

            configuration.Register(typeof(ICommon), typeof(First), Lifetime.Singleton, "First");
            configuration.Register(typeof(ICommon), typeof(Second), Lifetime.Singleton, "Second");
            configuration.Register(typeof(ICommonFrameEnumerable), typeof(CommonFrameEnumerable));
            DependencyInjector injector = new DependencyInjector(configuration);

            IEnumerable <ICommon> objects     = injector.Resolve <IEnumerable <ICommon> >();
            List <ICommon>        objectsList = new List <ICommon>();

            foreach (var obj in objects)
            {
                objectsList.Add(obj);
            }

            ICommonFrameEnumerable objectFrame    = injector.Resolve <ICommonFrameEnumerable>();
            IEnumerable <ICommon>  protoCheckList = objectFrame.All;
            List <ICommon>         checkList      = new List <ICommon>();

            foreach (var obj in protoCheckList)
            {
                checkList.Add(obj);
            }

            CollectionAssert.AreEquivalent(objectsList, checkList);
        }
All Usage Examples Of DependencyInjector::Resolve