public override void Resolve(Resolver resolver)
            {
                var parameters = method.GetParameters();

                methodParameterBindings = new Binding[parameters.Length];
                for (var i = 0; i < parameters.Length; ++i)
                {
                    var key = Key.Get(parameters[i].ParameterType, parameters[i].GetQualifierName());
                    methodParameterBindings[i] = resolver.RequestBinding(key, target.GetType().FullName + "::" + method.Name);
                }
            }
        public override void Resolve(Resolver resolver)
        {
            var k = 0;
            for (var i = 0; i < properties.Length; ++i)
            {
                if (propertyBindings[i] == null)
                {
                    propertyBindings[i] = resolver.RequestBinding(keys[k], type.FullName + "." + properties[i].Name);
                }

                ++k;
            }

            if (ctor != null)
            {
                for (var i = 0; i < paramterBindings.Length; ++i)
                {
                    if (paramterBindings[i] == null)
                    {
                        paramterBindings[i] = resolver.RequestBinding(keys[k], type.FullName + "::.ctor");
                    }
                    ++k;
                }
            }

            if (baseType != null && baseTypeBinding == null)
            {
                baseTypeBinding = resolver.RequestBinding(keys[k], MembersKey, false);
            }
        }