コード例 #1
0
        protected void TransferInjectionPointsTo(ManagedComponent component, GenericResolver.Resolution resolution)
        {
            component.AddMemberInjectionPoints(_memberInjectionPoints.Select(x =>
                                                                             x.TranslateGenericArguments(component, resolution.GenericParameterTranslations))
                                               .ToArray());

            component.AddInjectableMethods(_injectableMethods.Select(m => m.TranslateGenericArguments(component, resolution.GenericParameterTranslations))
                                           .Cast <InjectableMethod>().ToArray());
        }
コード例 #2
0
ファイル: ProducerMethod.cs プロジェクト: worldspawn/cormo
        protected override AbstractProducer TranslateTypes(GenericResolver.Resolution resolution)
        {
            var resolvedMethod = GenericUtils.TranslateMethodGenericArguments(_method.Method, resolution.GenericParameterTranslations);

            if (resolvedMethod == null || GenericUtils.MemberContainsGenericArguments(resolvedMethod))
            {
                return(null);
            }

            return(new ProducerMethod(DeclaringComponent.Resolve(resolvedMethod.DeclaringType), resolvedMethod, Annotations, Manager));
        }
コード例 #3
0
        protected EventObserverMethod TranslateTypes(GenericResolver.Resolution resolution)
        {
            var resolvedMethod = GenericUtils.TranslateMethodGenericArguments(_method.Method, resolution.GenericParameterTranslations);

            if (resolvedMethod == null || GenericUtils.MemberContainsGenericArguments(resolvedMethod))
            {
                return(null);
            }

            var resolvedParam     = resolvedMethod.GetParameters()[_parameter.Position];
            var resolvedComponent = _method.Component.Resolve(resolvedMethod.DeclaringType);

            return(new EventObserverMethod(resolvedComponent, resolvedParam, _annotations));
        }
コード例 #4
0
 protected abstract AbstractProducer TranslateTypes(GenericResolver.Resolution resolution);
コード例 #5
0
        protected override AbstractProducer TranslateTypes(GenericResolver.Resolution resolution)
        {
            var resolvedProperty = GenericUtils.TranslatePropertyType(_property, resolution.GenericParameterTranslations);

            return(new ProducerProperty(DeclaringComponent.Resolve(resolvedProperty.DeclaringType), resolvedProperty, Annotations, Manager));
        }
コード例 #6
0
ファイル: ProducerField.cs プロジェクト: worldspawn/cormo
        protected override AbstractProducer TranslateTypes(GenericResolver.Resolution resolution)
        {
            var resolvedField = GenericUtils.TranslateFieldType(_field, resolution.GenericParameterTranslations);

            return(new ProducerField(DeclaringComponent.Resolve(resolvedField.DeclaringType), resolvedField, Annotations, Manager));
        }