protected abstract TResult VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, TArgument argument);
protected override Expression VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, object context) { return(ScopeParameter); }
protected override object VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, ILEmitResolverBuilderContext argument) { // [return] ProviderScope argument.Generator.Emit(OpCodes.Ldarg_1); return(null); }
protected override Type VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, CallSiteValidatorState state) => null;
protected override object VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, RuntimeResolverContext context) { return(context.Scope);//直接返回RuntimeResolverContext封装的容器 }
protected override Expression VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, ParameterExpression provider) { return(provider); }
protected override object VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, ServiceProvider2 provider) { return(provider); }
protected override object VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, ServiceProviderEngineScope scope) { return(scope); }
protected override Expression VisitServiceProvider(ServiceProviderCallSite serviceProviderCallSite, CallSiteExpressionBuilderContext context) { return(context.ScopeParameter); }