问题标签 [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.
.net - System.Activator.CreateInstance 返回 null
我遇到的问题是CreateInstance
返回null。
这是代码:
Attack
并且SpecialAttack
都是存储基本信息的类,并且都继承自UnityEngine.Object
.
Attmono
并且spattmono
都是MonoScript
数组,attmono
能够容纳 16 并且spattmono
能够容纳 4。
他们从这些那里获得信息。
您可以将其MonoScript
视为包含对象是什么类类型的东西。我已经用Debug.Print
语句检查了这些中的每一个,并且在分配时两者都不为空。
这是SpecialAttack
代码。
我最近测试了这个
它确实是空的,所以这让我相信激活器找不到类型,所以我不知道从这里做什么。
c# - 给定接口的 C# 从字符串实例化类
我正在尝试基于将从用户界面检索到的字符串创建一个类的实例,然后我想访问该类实例的属性。
这是我迄今为止所拥有的概述 -
更新: 现在,我收到一个异常,上面写着“值不能为空”,这对我来说意味着它无法在给定提供的字符串的情况下创建类的实例 -
c# - C#,Type.GetType() 在所有情况下都不从字符串返回类名
我的代码是这样的
在我上面的代码中,我将密钥作为 namespace-qualified 传递。// 如果代码的自定义部分没有在几天内完美运行。然后它突然开始表现得很诡异。它在某些情况下从字符串返回我的类名,在某些情况下它不会(返回 null)。从密钥生成的所有类名都可以从此方法访问。不存在这样的可访问性问题。
我看到了一个文档http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx。在备注部分它告诉
GetType 仅适用于从磁盘加载的程序集。如果调用 GetType 来查找在使用 System.Reflection.Emit 服务定义的动态程序集中定义的类型,则可能会出现不一致的行为。行为取决于动态程序集是否是持久的,即使用 System.Reflection.Emit.AssemblyBuilderAccess 枚举的 RunAndSave 或 Save 访问模式创建。如果动态程序集是持久的并且在调用 GetType 之前已写入磁盘,则加载程序会在磁盘上找到保存的程序集,加载该程序集,并从该程序集中检索类型。如果调用 GetType 时程序集尚未保存到磁盘,则该方法返回 Nothing。GetType 不理解瞬态动态程序集;因此,调用 GetType 来检索瞬态动态程序集中的类型会返回 Nothing。
那是什么导致我的问题吗?. 谁能帮忙。
c# - Type.GetType(string typeName) 返回 null
我的代码是
我传递的键是命名空间限定名称。
我的代码在 BusinessLayer 中。我正在创建 DataAccessLayer 的一个实例。DataAccessLayer 引用已添加到 BusinessLayer。
我收到错误消息“无法从程序集'BusinessLayer,Version = 1.9.3.0,Culture = Neutral,PublicKeyToken = null'加载类型'Catalyst.DAL.ExamDAO.CExamDAO'。” .
我应该怎么做才能明确指定该类来自 DataAccessLayer ?
关键值是“Catalyst.DAL.ExamDAO.CExamDAO”
编辑 :
我的实际代码是
如果没有自定义,我正在尝试加载默认类。方法在 BO 中。如果我将密钥作为任何 Bo 类型的命名空间限定名称传递,它将转换。但是DAO类型它不会
wcf - Activator.CreateInstance 仅在用户本地登录时才可在 Web 服务中使用
我有一个模拟用户并调用Activator.CreateInstance
创建 COM 对象的 WCF 服务:
当我在本地登录到服务器时impersonatedUser
,一切都按预期工作。 Client.exe
作为一个过程存在,就像Viewer.exe
. 两者都是在我激活 COM 对象时创建的。
但是,如果我没有在本地登录impersonatedUser
,则仅Client.exe
作为进程创建,我会收到错误消息:
我唯一的猜测是,如果用户没有以其他方式登录,系统不会分配足够的内存?我不知道问题可能是什么。有什么建议么?
感谢您的任何帮助!
c# - 当其接口具有泛型时,如何从 Activator 实例化对象?
在我的代码中,我有以下界面
我已经通过反射检索了所有使用此接口的类型,并且我正在尝试实例化它们。通常我会做一些类似的事情:
但是,这在处理泛型时不起作用,因为您需要在转换时知道泛型类型,这可能会因每种实现的类型而异。
这可能吗?
.net - 调用 Activator.CreateInstance 的任何原因?
我正在维护别人的代码,他们在一个方法中有这个部分:
我不知道为什么他们在ReportCriteriaInstace
用CreateInstance()
.
除此之外,因为我们将已知类型传递给CreateInstance
( MyCompany.Utils.ReportStructure.ReportSearchCriteria
),是否有任何理由不使用 new() 代替?我没有得到一些默认的无参数构造函数的原因可能是什么?
c# - 班级和 Activator.CreateInstance
这是一些类:
我试图通过这样做来实例化这个类的对象:
我得到的只是一个System.MissingMethodException
(这个对象没有无参数构造函数)......
我的代码有什么问题?
c# - 使用 Ninject 进行类型激活
是否有任何内置到 Ninject 的方法允许动态实例化任何给定类型的程序集限定名称(无需在 custom 中手动绑定类型NinjectModule
)?
我当然可以使用Activator.CreateInstance
,但由于我已经在使用 Ninject,我宁愿坚持使用它而不是使用这种方法(顺便说一下,我听说这可能很慢)。
c# - Activator.CreateInstance(string, string) 抛出 TypeLoadException
我有以下代码:
我有一个名为的类DummyScheduledTaskExecutor
,如下所示:
它驻留在程序集名称(在程序集的属性中定义)为 的程序集中Tests.WebApplication.Application.Unit
。
我的电话Invoke(string, string)
看起来像这样:
尝试运行此代码只会引发 TypeLoadException。我是否错误地表达了程序集或类型名称,还是发生了其他事情?