问题标签 [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.
c# - 使用 Activator.CreateInstance 时解析注入的实例
我试图弄清楚如何让 Castle Windsor 解决使用 Activator.CreateInstance
.
目前,当我以这种方式创建对象时,创建的对象内部的依赖关系没有得到解决。我已经四处搜索,看看是否有一种 Windsor 方法可以做同样的事情,同时也解决依赖关系,但到目前为止我还没有找到任何东西。
至于为什么我以这种方式创建实例,我正在玩一个基本的文本游戏以获得一些乐趣,并且实例是根据用户输入命令创建的,因此我需要基于字符串创建实例(当前,该命令在 Dictionary 中映射到然后使用上述方法创建的类型)。
感谢您的任何帮助。
c# - 如何转换 CreateInstance 的返回值
当类型未知时,如何从 CreateInstance 转换返回值?
例如在这段代码中:
如何将我的 o 转换为 mInfo.ReturnType 包含的任何内容?
com - 对 Excel.Application 使用 IDispatch.GetTypeInfo() 的 Visual Studio IDE 崩溃
我正在编写一个与 COM 组件交互的应用程序,在 Visual Studio 10 IDE 中运行我的应用程序时使用 Excel.Application 组件时遇到了问题。我遇到了致命的内存不足错误。如果我只运行 EXE,一切都运行良好,但这严重限制了我的调试能力。我以这种方式访问的所有其他 COM 组件都可以正常工作,包括本地组件和商业组件。
这是一个演示此崩溃的控制台应用程序。为简单起见,我删除了所有错误处理。在有问题的代码周围放置一个 try/catch 块并没有帮助。此项目需要对 CustomMarshalers.dll 的引用。
我认为问题仅仅是由于 Excel 的大小。
c++ - C++ 中的工厂模式:自动生成显式 createInstance()-Method
我在编写 C++ 框架时遇到了问题,即用户使用它的开销应该比使用它的可能少。用户可以通过创建一个包含类的共享库来将他们的工作发布到框架,该类由框架的 BaseClass 派生并实现 extern "C" createInstance() 方法以返回其派生类的实例。所以框架可以通过dlsym()通过共享库调用createInstance-Method来访问用户类。
在框架中:
我的问题:是否可以生成UserXcreateInstance()-方法,在每个用户库中都是多余的,这样用户就不必考虑了?
我认为模板+宏是可能的,但我还没有找到一种方法来做到这一点......
我在想的另一种方法是通过 dlsym 和适当的名称修饰直接调用任何用户类的构造函数。(我从配置文件中知道任何命名空间+类名)但我认为这不是一个合适的解决方案,特别是构造函数调用与常规函数调用不同......但非常有趣......
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.
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 )。但这似乎不起作用。
任何解决方案或解决方法的想法?
c# - 为什么 CreateInstanceFromAndUnwrap 在 Web 容器中不起作用?
嗨,我的代码如下所示:
在我的测试代码中(即不在 Web 容器中),它的工作原理就像一个魅力并加载程序集而不会抱怨。但是,然后我在我的应用程序中运行它(在 web 容器、II7/ 或 VS2010 开发容器中),然后它突然开始抱怨:
“成员 '... , ... , Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 的类型未解析。"}"
我什至修改了我的测试用例以使用与应用程序调用完全相同的参数调用 Load() 方法,并且测试代码(在 Web 容器之外)在应用程序代码引发上述错误时工作正常。
c++ - CreateInstance 返回“找不到指定的模块。”
我一直在尝试获得一个可以运行的Windows 2000
程序Windows 2003
。到目前为止,为了让程序运行,我所做的一切都Windows 2003
与不正确的配置有关。现在,这段代码:
正在返回:
或者换句话说:
我有另外两个程序和另一个 .dll,我可以成功地创建这些类的实例。但这似乎失败了。
我曾经Procmon
试图找出程序找不到的东西,但Procmon
没有显示任何可能表明程序找不到东西的东西。
在OleView
中,如果我尝试创建类的实例,我会看到下图:
如果您查看图像的左侧,尝试创建 的实例PFComgMng
会给我同样的错误。(PFAdapterEnv
并PFCompMng
使用相同的过程,PFAdapterMng.exe
。)但是,,,PFMQMonitor
和PFSend
所有PFTrace
工作正常。(其中使用PFMQListen.exe
、PFSend.dll
和PFTraceService.exe
。)
我要注意的另一件事是以下代码:
当它从PFAdapterMng.exe
. 因此,似乎PFAdapterMng.exe
可以成功找到模块并创建实例,但是任何其他尝试创建其中任一类实例的进程PFAdapterMng.exe
都找不到该模块,从而导致此错误。
由于Procmon
对这种特定情况没有帮助,有谁知道我可以做些什么来弄清楚是什么让其他进程无法找到模块?
更新:
我不能Dependency Walker
使用分析运行,因为PFAdapterMng.exe
并且PFTraceService.exe
必须作为服务运行。我尝试Dependency Walker
在分析时运行OleView
并尝试创建实例PFAdapterEnv
并PFCompMng
尝试找出我收到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
谢谢, 克日斯
.net - System.Activator.CreateInstance 返回 null
我遇到的问题是CreateInstance
返回null。
这是代码:
Attack
并且SpecialAttack
都是存储基本信息的类,并且都继承自UnityEngine.Object
.
Attmono
并且spattmono
都是MonoScript
数组,attmono
能够容纳 16 并且spattmono
能够容纳 4。
他们从这些那里获得信息。
您可以将其MonoScript
视为包含对象是什么类类型的东西。我已经用Debug.Print
语句检查了这些中的每一个,并且在分配时两者都不为空。
这是SpecialAttack
代码。
我最近测试了这个
它确实是空的,所以这让我相信激活器找不到类型,所以我不知道从这里做什么。