问题标签 [activator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2361 浏览

c# - 无法从 Activator.CreateInstance 捕获异常

好的,我承认这段代码对你来说看起来很奇怪,那是因为它很奇怪。这只是重现行为的代码,而不是我想使用的代码。

无论我尝试捕获哪种异常类型(据我所知,实际抛出的异常是 ArgumentException),catch 块内的代码都不会执行。实际上执行将在 Activator.CreateInstance 行停止。

0 投票
1 回答
4666 浏览

castle-windsor - 无法实例化 Windsor 自定义组件激活器

我收到一个调用 Resolve 的异常:

那里肯定有一个公共的无参数构造函数(我已经在运行时使用反射验证了这一点)......所以我认为问题可能与它是通用的事实有关?我已经尝试获取组件模型对象并将 RequiresGenericArguments 设置为 true,但这并没有让我得到任何结果。

任何帮助将非常感激!谢谢。

0 投票
1 回答
2484 浏览

c# - 安装过程中 Activator.CreateInstance 对象的 InvalidCastException

我有以下程序

此过程可以正常工作,但是在安装自定义操作期间调用它时。

换句话说,如果我在自己的 Install(...) 覆盖中调用我的 OpenInstance(...) 过程:

在我的 Installer 扩展类中定义:

当我尝试将展开的对象转换为所需类型时出现异常:

异常详情:

  • 类型:System.InvalidCastException
  • 消息:无法将透明代理转换为类型“IMyInterface”。

我想了解为什么该程序一直有效,但在这种特定情况下。

细节

  • 我一步一步地遵循对象创建过程,一切似乎都很好,该对象是由 Activator.CreateInstance 过程很好地创建的。

  • Activator.CreateInstance 使用的程序集已经存在于文件系统中。

  • 具体程序集'assemblyName on the source code)是安装程序刚刚创建的窗口服务。

0 投票
5 回答
8718 浏览

c# - Activator.CreateInstance:类的动态实例化

我正在设计一个松散耦合的结构。我想通过由 String 表示的代码从不同的程序集/命名空间调用类。我的设计是,每个客户端的业务规则都在不同的程序集上,并且彼此不依赖(一个客户端与一个 DLL 的比率),因此当我对 1 个客户端的业务规则进行更新时,它不会影响其他客户端。我现在的注意力是使用 Factory Design 和使用Activator.CreateInstance()方法。

这是项目设置(2+n DLL)

实际代码

知道为什么我的样品不起作用吗?以及改进设计的任何建议?提前致谢。

怎么用

表达式.Lambda

任何人?

0 投票
1 回答
1933 浏览

ninject - Ninject、Providers 和 Activator.CreateInstance

我对 Ninject 还很陌生,但我已经成功地使用自定义提供程序将它用于 DI。

绑定初始化如下

在自定义提供程序中,我像这样调用 Activator.CreateInstance

(是的,我知道上面的代码中没有错误处理等:))

这一切就像一个魅力。

现在,我面临的问题是当我引入一个希望注入 IPatientRecordLocator 实例的新类时。当我将如下构造函数添加到例如这些类之一时,就会出现问题

然后,为了使 Activator.CreateInstance 工作,我还必须向类 MockPatientRecordLocator 添加一个无参数构造函数,即

所以,我的问题是:如何让 Ninject 将实现 IContactAdapter 的类的实例注入到例如 MockPatientRecordLocator 中?我尝试过方法注入,但无济于事。

我忘了解释我想要实现的是一种链式注入,其中 PatientRecordSummary 类的实例被注入 MockPatientRecordLocator 的实例(使用构造函数注入),并且所述 MockPatientRecordLocator 的实例应该被注入 IContactAdapter 的实例(再次使用构造函数注入(如果可能))。链条的第一部分有效,第二部分无效。

0 投票
2 回答
290 浏览

wpf - Is Activator.CreateInstance available in DotNet 3.5?

Do we have Activator.CreateInstance available in DotNet 3.5 ?

0 投票
1 回答
1492 浏览

c# - C# Activator.CreateInstance MissingMethod 异常

我正在尝试创建具有相同基类型的对象实例,如下所示:

派生对象具有如下构造函数:

并且基础对象(SearchLogicObjectBase)有一个这样的构造函数:

但是,上面的代码会导致以下异常:

找不到类型“System.RuntimeType”的构造函数。

基类型和派生类型都有一个接受单个布尔值的构造函数,所以我不确定为什么会出现错误。

有人可以帮忙吗?

0 投票
1 回答
1579 浏览

c# - 如何编写通过字符串创建对象的自定义温莎激活器?

我有一个控制台应用程序,它接收一个类名并调用它的一个函数:

到目前为止,除此之外不需要进行初始化,但现在我们有了一些 IScheduledTask 将通过构造函数注入依赖的组件。
有没有办法定义一个具有相同名称的类的命名实例,稍后将使用resolve解析所有依赖项?
也就是说,如果我将“SomeScheduledTask”作为参数,我可以这样做:

我可以做这样的事情来解决我的问题:

在我的激活器中做这样的事情:

0 投票
1 回答
938 浏览

json - 如何将 Activator.CreateInstance 与列表一起使用使用 DataContractJsonSerializer 反序列化 json 时

我正在反序列化这个 json 字符串:

代表项目的类是:

请注意,在 MyClass 的默认构造函数中,我为“_dtcreate”设置了默认值。

因此,我使用此代码将 json 反序列化为 T 数组:

当我反序列化一个 json 字符串时,我在反序列化的数组中找不到属性“_dtcreate”。

我认为 DataContractJsonSerializer 不使用 MyClass 的默认构造函数。

我可以使用

为属于数组“gType”的所有对象创建一个实例,以确保我的反序列化列表中的所有对象都是使用我的 T 类的默认构造函数创建的?

太感谢了!

0 投票
4 回答
2173 浏览

sql-server - "通知消息类型出乎意料。”由 SSBEA 记录,我的应用程序从未被调用

我正在运行安装了外部激活器的 SQL Server 2005 标准版。我在 SSMS 选项卡中有以下代码:

当我运行它时,我会在结果窗格中得到预期的输出。在 EATrace.log 中,我收到错误消息“通知消息类型 //abc/XYZ/RequestPostMessage 是意外的。”

EAService.config 中没有任何内容告诉 EA 预期的消息类型。为什么我收到此错误,而不是 EA 执行其配置文件中指定的应用程序?我的合同设置不正确吗?

** 以下新增部分:**

根据 Remus 的建议,我添加了以下内容:

但是当我将配置文件中的 NotificationService 名称从“//abc/xyz/TargetPostService”更改为“//abc/xyz/NotificationPostService”时,我收到错误“ERROR = 31, The notification service //abc/xyz/启动服务时,EATrace.log 中的 NotificationPostService 不存在”。但是,该服务在 sys.services 中列出。

** 错误 31 已解决,现在的问题是我的应用没有被调用 **

我使用了 Service Broker 团队博客中的示例应用程序,添加了用于调试目的的日志记录。它会在运行后立即写入日志文件,然后再执行其他任何操作。我已经通过从 VS2010 运行它来测试它并且工作正常,但是当我使用这个问题开头的代码发送消息时,不再创建。因此我知道我的应用程序不是由 EA 运行的。我如何诊断为什么会发生这种情况?我的 EAService.config 文件中的路径是正确的。这是整个文件:

我使用了正确的 QueueName 吗?此文件中是否还有其他可能的错误?我还能做些什么来诊断这个?这是发生的对话: