Exemplo n.º 1
0
        //Entry point for TypeAbstractBinding to ask for a class....
        //This method does so without trying to resolve the class first, which is important if we are called from within a resolution
        public object buildClass(TypeDefinition typeDefinition)
        {
            object instance;

            if (typeDefinition.builtIn) {
                instance = typeDefinition.constructorApply(null);
            } else {
                var constructorPoints = typeDefinition.getConstructorParameters();
                instance = buildFromInjectionInfo(typeDefinition, constructorPoints);

                var fieldPoints = typeDefinition.getInjectionFields();
                injectMemberPropertiesFromInjectionInfo(instance, fieldPoints);

                var methodPoints = typeDefinition.getInjectionMethods();
                injectMembersMethodsFromInjectionInfo(instance, methodPoints);
            }

            return instance;
        }
Exemplo n.º 2
0
        public void injectMembers(dynamic instance)
        {
            Type constructor = instance.constructor;

            var typeDefinition = new TypeDefinition(constructor);

            var fieldPoints = typeDefinition.getInjectionFields();
            injectMemberPropertiesFromInjectionInfo(instance, fieldPoints);

            var methodPoints = typeDefinition.getInjectionMethods();
            injectMembersMethodsFromInjectionInfo(instance, methodPoints);
        }