C# 如何将IHttpContextAccessor作为参数传递给Activator.createinstance方法中的装箱实例?

C# 如何将IHttpContextAccessor作为参数传递给Activator.createinstance方法中的装箱实例?,c#,asp.net-core,C#,Asp.net Core,我想动态解析ASP.NET Core中的InstancePerLifetimeScope依赖项,因为我使用Activator.createinstance创建了一个实例,但我不知道如何将IHttpContextAccessor作为参数传递给它。请建议如何做?我的代码如下所示 var type = Type.GetType(ScheduleTask.Type) ?? AppDomain.CurrentDomain.GetAssemblies() .

我想动态解析ASP.NET Core中的InstancePerLifetimeScope依赖项,因为我使用Activator.createinstance创建了一个实例,但我不知道如何将IHttpContextAccessor作为参数传递给它。请建议如何做?我的代码如下所示

 var type = Type.GetType(ScheduleTask.Type) ??
            AppDomain.CurrentDomain.GetAssemblies()
            .Select(a => a.GetType(ScheduleTask.Type))
            .FirstOrDefault(t => t != null);

            dynamic instance = null;
            try
            {
            instance =Activator.CreateInstance(type,IHttpContextAccesso);
            }

现在还不清楚您在这里做什么,但一般来说,如果您需要
IHttpContextAccessor
的实例,那么必须将其注入到该代码所在的类中


如果依赖项注入过程中根本不涉及此代码,那么就不可能获得实例。

为什么不在IoC容器中注册IHttpContextAccessor?我注册了,但我想动态执行一些服务,这些服务还有一些其他依赖项,我使用IHttpContextAccessor解决了这些依赖项。但是现在为了创建该服务的实例,我需要传递IHttpcontextaccessor,因为构造函数的存在。您能提供一个更详细的示例来说明您的情况吗?您很有可能不必使用Activator.CreateInstance(反射)。您可以在构造函数中注入所需的依赖项,或者使用IServiceProvider在运行时动态解析它们。