Exemple #1
0
        protected override Expression VisitSingleton(SingletonCallSite singletonCallSite, CallSiteExpressionBuilderContext context)
        {
            if (TryResolveSingletonValue(singletonCallSite, out var value))
            {
                return(Expression.Constant(value));
            }

            return(Expression.Call(
                       Expression.Constant(_runtimeResolver),
                       CallSiteRuntimeResolverResolve,
                       Expression.Constant(singletonCallSite, typeof(IServiceCallSite)),
                       context.ScopeParameter));
        }
 protected override object VisitSingleton(SingletonCallSite singletonCallSite, ServiceProviderEngineScope scope)
 {
     return(VisitScoped(singletonCallSite, scope.Engine.Root));
 }
Exemple #3
0
 protected abstract TResult VisitSingleton(SingletonCallSite singletonCallSite, TArgument argument);
Exemple #4
0
 protected override Type VisitSingleton(SingletonCallSite singletonCallSite, CallSiteValidatorState state)
 {
     state.Singleton = singletonCallSite;
     return(VisitCallSite(singletonCallSite.ServiceCallSite, state));
 }
 protected override ILEmitCallSiteAnalysisResult VisitSingleton(SingletonCallSite singletonCallSite, object argument) => VisitCallSite(singletonCallSite.ServiceCallSite, argument);