问题标签 [createinstance]

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 投票
3 回答
2837 浏览

c# - 使用 Activator.CreateInstance 时解析注入的实例

我试图弄清楚如何让 Castle Windsor 解决使用 Activator.CreateInstance.

目前,当我以这种方式创建对象时,创建的对象内部的依赖关系没有得到解决。我已经四处搜索,看看是否有一种 Windsor 方法可以做同样的事情,同时也解决依赖关系,但到目前为止我还没有找到任何东西。

至于为什么我以这种方式创建实例,我正在玩一个基本的文本游戏以获得一些乐趣,并且实例是根据用户输入命令创建的,因此我需要基于字符串创建实例(当前,该命令在 Dictionary 中映射到然后使用上述方法创建的类型)。

感谢您的任何帮助。

0 投票
2 回答
1151 浏览

c# - 如何在 C# 中实例化 IDispatchEx?

这是我的第一个 SO 问题!我想实例化一个 COM 对象并将其转换为 IDispatchEx,以便我可以枚举其成员。这是一个例子:

我的 IDispatchEx 与本网站(不是我的网站)上的相同,除了 GetNextDispID 和 GetMemberName 返回一个 int (我希望将其用于 HRESULT,如MSDN中所述)。

上面的例子不起作用。有没有办法像从 Active Scripting 强制转换到 IDispatchEx 接口一样实例化 COM 对象?

感谢您提供任何和所有帮助/建议!

0 投票
2 回答
449 浏览

c# - 如何转换 CreateInstance 的返回值

当类型未知时,如何从 CreateInstance 转换返回值?

例如在这段代码中:

如何将我的 o 转换为 mInfo.ReturnType 包含的任何内容?

0 投票
0 回答
380 浏览

com - 对 Excel.Application 使用 IDispatch.GetTypeInfo() 的 Visual Studio IDE 崩溃

我正在编写一个与 COM 组件交互的应用程序,在 Visual Studio 10 IDE 中运行我的应用程序时使用 Excel.Application 组件时遇到了问题。我遇到了致命的内存不足错误。如果我只运行 EXE,一切都运行良好,但这严重限制了我的调试能力。我以这种方式访问​​的所有其他 COM 组件都可以正常工作,包括本地组件和商业组件。

这是一个演示此崩溃的控制台应用程序。为简单起见,我删除了所有错误处理。在有问题的代码周围放置一个 try/catch 块并没有帮助。此项目需要对 CustomMarshalers.dll 的引用。

我认为问题仅仅是由于 Excel 的大小。

0 投票
2 回答
1103 浏览

c++ - C++ 中的工厂模式:自动生成显式 createInstance()-Method

我在编写 C++ 框架时遇到了问题,即用户使用它的开销应该比使用它的可能少。用户可以通过创建一个包含类的共享库来将他们的工作发布到框架,该类由框架的 BaseClass 派生并实现 extern "C" createInstance() 方法以返回其派生类的实例。所以框架可以通过dlsym()通过共享库调用createInstance-Method来访问用户类。

在框架中:

我的问题:是否可以生成UserXcreateInstance()-方法,在每个用户库中都是多余的,这样用户就不必考虑了?

我认为模板+宏是可能的,但我还没有找到一种方法来做到这一点......

我在想的另一种方法是通过 dlsym 和适当的名称修饰直接调用任何用户类的构造函数。(我从配置文件中知道任何命名空间+类名)但我认为这不是一个合适的解决方案,特别是构造函数调用与常规函数调用不同......但非常有趣......

0 投票
6 回答
30747 浏览

c# - Fast creation of objects instead of Activator.CreateInstance(type)

I'm trying to improve the performance of our application. We have a lot of Activator.CreateInstance calls that are causing some grief.

We instantiate a lot of classes based on an interface (ITabDocument) and after looking around I thought of using this code:

The code is no better (infact marginally slower) than using the Activator.CreateInstance code we had.

I'm wondering why this is, all I'm doing is:

Is there a better way of creating objects which would assist with the above? Its a little hard when you're not sure of the concrete type.

0 投票
1 回答
811 浏览

c# - Silverlight Windows Phone 7 中的 Activator.CreateInstance(string assemblyName,string typName)

我想在我的 Windows Phone 7 应用程序中使用 Activator.CreateInstance(string assemblyName,string typName) ( http://msdn.microsoft.com/en-us/library/d133hta4%28v=VS.100%29.aspx )。但这似乎不起作用。

任何解决方案或解决方法的想法?

0 投票
0 回答
442 浏览

c# - 为什么 CreateInstanceFromAndUnwrap 在 Web 容器中不起作用?

嗨,我的代码如下所示:

在我的测试代码中(即不在 Web 容器中),它的工作原理就像一个魅力并加载程序集而不会抱怨。但是,然后我在我的应用程序中运行它(在 web 容器、II7/ 或 VS2010 开发容器中),然后它突然开始抱怨:

“成员 '... , ... , Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 的类型未解析。"}"

我什至修改了我的测试用例以使用与应用程序调用完全相同的参数调用 Load() 方法,并且测试代码(在 Web 容器之外)在应用程序代码引发上述错误时工作正常。

0 投票
1 回答
2059 浏览

c++ - CreateInstance 返回“找不到指定的模块。”

我一直在尝试获得一个可以运行的Windows 2000程序Windows 2003。到目前为止,为了让程序运行,我所做的一切都Windows 2003与不正确的配置有关。现在,这段代码:

正在返回:

或者换句话说:

我有另外两个程序和另一个 .dll,我可以成功地创建这些类的实例。但这似乎失败了。

我曾经Procmon试图找出程序找不到的东西,但Procmon没有显示任何可能表明程序找不到东西的东西。

OleView中,如果我尝试创建类的实例,我会看到下图:

IClassFactory::CreateInstance 失败。 指定的模块无法找到。 严重性:SEVERITY_ERROR,设施:FACILITY_WIN32($8007007E

如果您查看图像的左侧,尝试创建 的实例PFComgMng会给我同样的错误。(PFAdapterEnvPFCompMng使用相同的过程,PFAdapterMng.exe。)但是,,,PFMQMonitorPFSend所有PFTrace工作正常。(其中使用PFMQListen.exePFSend.dllPFTraceService.exe。)

我要注意的另一件事是以下代码:

当它从PFAdapterMng.exe. 因此,似乎PFAdapterMng.exe可以成功找到模块并创建实例,但是任何其他尝试创建其中任一类实例的进程PFAdapterMng.exe都找不到该模块,从而导致此错误。

由于Procmon对这种特定情况没有帮助,有谁知道我可以做些什么来弄清楚是什么让其他进程无法找到模块?

更新:

我不能Dependency Walker使用分析运行,因为PFAdapterMng.exe并且PFTraceService.exe必须作为服务运行。我尝试Dependency Walker在分析时运行OleView并尝试创建实例PFAdapterEnvPFCompMng尝试找出我收到Module not found消息框的原因。不幸的是,Dependency Walker并没有表明缺少任何东西。

更新2:

也许我错过了Procmon日志中的某些内容,所以我通过在我跨接呼叫之前和之后立即捕获事件来创建一个新日志CreateInstance。也许其他人可以看看并告诉我我是否错过了它?我根本找不到任何PFMQListen.exe找不到东西的迹象..

这是一个压缩文件夹的链接,其中包含一个Procmon文件、一个.csv文件和一个.xml文件。

http://www.mediafire.com/?07jq8zj7emmpsvd

更新3:

因此,我设法Dependency Walker在 Profile 模式下运行以创建PFAdapterEnv. Dependency Walker没有发现任何遗漏.dll的。

因此,Procmon不显示任何内容,也不显示Dependency Walker. 我正在使用 单步执行程序集级别的代码ollydbg,我注意到错误是在函数中创建的NdrClientCall2。我不知道这是否意味着什么。

关于我还能尝试什么的任何想法?人们是否需要更多信息来帮助我解决这个问题?如果是这样,请询问。

更新4:

我尝试使用/RegServer注册应用程序,它工作。我之前尝试过使用/RegServer,我只是使用/UnregServer. 这一次,我还删除了Component Services我需要的组件,因为我想PFAdapterMng在另一个身份下运行。

/RegServer因此,在运行并双击应用程序时,似乎一切正常。但是,我希望一切都在不同的配置下运行。

如何配置所有内容以使应用程序正常工作,如下所示:

PFAdapterMng.exe- 注册为/Service另一个身份并运行通过services.msc PFTraceServer.exe- 注册为/Service另一个身份并运行通过services.msc

PFMQListen.exe- 注册为/RegServer将由PFAdapterMng PFMQSend.dll- 注册Regsvr32并加载PFAdapterMng

谢谢, 克日斯

0 投票
1 回答
1896 浏览

.net - System.Activator.CreateInstance 返回 null

我遇到的问题是CreateInstance返回null。

这是代码:

Attack并且SpecialAttack都是存储基本信息的类,并且都继承自UnityEngine.Object.

Attmono并且spattmono都是MonoScript数组,attmono能够容纳 16 并且spattmono能够容纳 4。

他们从这些那里获得信息。

您可以将其MonoScript视为包含对象是什么类类型的东西。我已经用Debug.Print语句检查了这些中的每一个,并且在分配时两者都不为空。

这是SpecialAttack代码。

我最近测试了这个

它确实是空的,所以这让我相信激活器找不到类型,所以我不知道从这里做什么。