使用反射在内部类中实例化带有参数的构造函数

2023-11-20

我有一些类似的事情:

object[] parameter = new object[1];
parameter[0] = x;
object instantiatedType =
Activator.CreateInstance(typeToInstantiate, parameter);

and

internal class xxx : ICompare<Type>
{
    private object[] x;

    # region Constructors

    internal xxx(object[] x)
    {
        this.x = x;
    }

    internal xxx()
    {
    }

    ...
}

我得到:

引发异常:System.MissingMethodException:未找到类型“xxxx.xxx”的构造函数。

有任何想法吗?


问题是Activator.CreateInstance(Type, object[])不考虑非公共构造函数。

例外情况

MissingMethodException:没有匹配 找到公共构造函数。

通过将构造函数更改为public能见度;然后代码就可以正常工作了。

这是一种解决方法(已测试):

 BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
 CultureInfo culture = null; // use InvariantCulture or other if you prefer
 object instantiatedType =   
   Activator.CreateInstance(typeToInstantiate, flags, null, parameter, culture);

如果您只需要无参数构造函数,这也可以工作:

//using the overload: public static object CreateInstance(Type type, bool nonPublic)
object instantiatedType = Activator.CreateInstance(typeToInstantiate, true)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用反射在内部类中实例化带有参数的构造函数 的相关文章

  • WPF DataGrid 行标题可见性错误

    我正在使用 DataGrid 来显示多个字段 其中之一是多行描述 网格显示数据很好 直到我尝试通过设置隐藏标题行HeadersVisibility Column 标题行消失 但当我滚动时 某些随机行的行标题会重新出现 我已将其范围缩小到显示
  • 在 C 中搜索已排序的数组

    我正在解决 C 语言中的一个问题 我有一个简短的问题 问题如下 我得到了一些已排序的整数数组 比如说 a i 1 2 3 3 3 现在 我应该运行一个程序来搜索给定的整数 返回第一次出现的位置以及该整数在数组中出现的次数 所以 如果我正在寻
  • 如何扩展 C# 内置类型,例如 String?

    我需要Trim a String 但我想删除字符串本身内所有重复的空格 而不仅仅是在其末尾或开头 我可以用这样的方法来做到这一点 public static string ConvertWhitespacesToSingleSpaces s
  • 函数 try 块什么时候有用?

    我想知道程序员何时使用函数 try 块 什么时候有用 void f int i try if i lt 0 throw less than zero std cout lt lt greater than zero lt lt std en
  • 如何从我的应用程序在用户默认浏览器中启动 URL?

    如何在桌面应用程序中添加一个按钮 使用户的默认浏览器启动并显示应用程序逻辑提供的 URL Process Start http www google com
  • 预期主表达式在“...”之前,C++ 编译错误

    SO 上有很多类似标题的帖子 但它们似乎是由各种语法错误触发的 而且我还没有看到一致的模式 using namespace std class A public A int a a a int a int main A x 3 A y 0
  • C++:你会选择 boost::date_time 还是 icu::date/time 库?

    我的应用程序需要自定义时间和日期设置功能 我检查了 ICU 和 boost date time 库 从完整性的角度来看 两者似乎都满足我的要求 我想知道两者之间是否有任何偏好 依据是什么 哪一个会在表现上得分 如果没有有关您的特定用例和环境
  • 仅标头模板的显式实例化声明(外部模板)

    我正在尝试加快 GLM OpenGL 数学 的编译时间 GLM 大量使用 C 模板 这是我到目前为止所尝试过的 math h pragma once include
  • c malloc 问题(内存损坏)

    使用 malloc 时 如果它生成带有错误的核心转储 malloc memory corruption 这是否意味着 malloc 尝试分配无法自由分配的内存 如果是的话 造成这种情况的原因是什么 这完全取决于您的 malloc 实现 但通
  • 迁移到新 csproj 格式的 WPF 应用程序上未定义 RunCommand 属性

    我正在尝试将旧 csproj 格式构建的 WPF 应用程序迁移到为 VS2017 定义的新 csproj 格式 我已经能够编译该应用程序 但是当我尝试在 VS2017 下的调试器中启动它时 我收到以下错误消息 无法运行您的项目 未定义 Ru
  • 基本镜面着色

    我正在使用一个生成阴影球体的简单代码 我还没有完全理解数学 但我在玩代码时正在弄清楚它 我想知道如何根据这段代码实现镜面反射着色 有什么建议么 for y 0 y
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着
  • 在程序中使用 resources.resx 中的嵌入文件

    我有一个程序 它需要一个文本文件来保存一些信息 我有当前使用文件路径的函数 然后用它来做一些事情 但是 我想将程序构建为 exe 但文件显然不会位于同一个位置 经过研究 我发现使用嵌入式资源可以让我将文本文件添加到程序中 但我似乎无法用它做
  • 如何使文本框的自动完成列表可编辑?

    我有一个包含很多内容的应用程序TextBox使用自动完成的控件 每个人都使用AutoCompleteMode CustomSource从关联的获取自动完成文本AutoCompleteStringCollection 每当用户在其中输入新值时
  • 您会在哪里使用友元函数与静态成员函数?

    当我们希望非成员函数访问该类的私有成员时 我们将其设为该类的友元函数 这赋予它与静态成员函数相同的访问权限 两种选择都会为您提供一个不与该类的任何实例关联的函数 什么时候我们必须使用友元函数 什么时候必须使用静态函数 如果两者都是解决问题的
  • SQL 和 Dapper 性能隐式转换

    我们如何防止 Dapper 中的 SQL 隐式转换 我们意识到 我们正在进行 SQL 隐式转换 导致索引扫描和死锁 Dapper 参数是 nvarchar 而 SQL 表列是 varchar 这导致我们所有的 sql 列都转换为 nvarc
  • LINQ to SQL 未映射的属性

    是否可以在设计器中添加自定义属性并且不将其绑定到列 我摆弄了一些设置 决定用该属性创建一个部分类 有没有办法在 ORM 设计器中显示这个字段 LINQ to SQL 设计器正在维护映射 未映射的属性需要放入单独的分部类中
  • 基于路由参数的子容器注册

    我们有一个多租户 ASP NET MVC 应用程序 为多个客户端托管预订引擎 这些客户端中的每一个都有多个可以影响 Unity 容器配置的包 我们为每个请求创建一个子容器 并根据通过路由传递的客户端和包参数注册不同的接口实现 目前 我们正在
  • 我是否需要显式关闭并处置 SQLConnection?

    SqlDataReader rdr null con new SqlConnection objUtilityDAL ConnectionString using SqlCommand cmd con CreateCommand try i
  • 谷歌模拟 - 我可以在同一个模拟对象上多次调用 EXPECT_CALL 吗?

    如果我打电话EXPECT CALL在同一个模拟对象上两次TEST F 会发生什么 期望是否附加到模拟对象中 或者第二次调用是否消除了第一次调用的效果 I found 后子句 https github com google googletes

随机推荐

  • 如何覆盖活动记录对象中的属性分配?

    我知道您可以使用虚拟属性来做到这一点 但是如果该列确实存在怎么办 例如 我的模型有一个raw topic柱子 什么时候raw topic已定 我想要artist and song title设定基于raw topic的内容 理想情况下 我想
  • C# 释放 IntPtr 引用的内存

    我正在使用一些非托管代码 它们返回指向大图像对象的指针 IntPtr 我使用引用 但在完成图像后 我需要释放指针引用的内存 目前 释放内存的唯一方法是关闭我的整个应用程序 我需要能够从应用程序内部释放该内存 这是分配内存的调用 hbitma
  • 从 DLL 导出 MFC 对话框

    7月21日 更新 见底部 在 VC 2005 中我有 2 个项目 首先 一个 MFC DLL 项目 不是扩展 DLL 它有一个简单的对话框 测试Dlg h pragma once include afxwin h include resou
  • 如何使用 xslt 管理微数据?

    我正在尝试添加一个标签 例如 div 在我的 xslt 转换中 但出现错误 预期的标记是 我正在 C net 4 0 xslt 1 0 中工作 XSLT 针对生成 XML 输出进行了优化 一般来说 HTML5 不是 XML 语法 div 显
  • 如何使用来自 python 的请求使用 opencv 从 url 打开图像

    我正在尝试在 python 上使用 OpenCV 打开大量图像 因为我需要稍后使用它们 其实 我可以用这样的枕头来实现这个目标 url r https i imgur com DrjBucJ png response requests ge
  • 使用 MySQL C API 和 C++ 获取 MySQL 数据库表中的行

    当尝试使用 C 和 MySQL C API 获取 mysql 中的表行时 我感到很困惑 我可以在 PHP 中轻松完成 只是因为 C 是一种强类型语言 所以我们还需要处理脏过程 这就是我在 PHP 中完成的方法 data array i 0
  • 无法升级或从系统中删除 firebase

    正如标题所示 我无法升级或以任何方式从我的系统中删除当前版本的 firebase 我不明白为什么 我使用首次启动项目时提示的 firebase 命令安装了它 符合npm install g firebase tools 在我安装了其他软件包
  • 如何在 Qt for android 中保持屏幕常亮?

    我找到了一些如何在 Java 中做到这一点的解决方案 但没有找到如何在 QML 或 Qt 中做到这一点 我知道首先我应该设置WAKE LOCK的许可AndroidManifest xml 我应该怎么做才能在运行时从 Qt 打开和关闭屏幕锁定
  • Docker 节点 alpine 8 分段错误(核心转储)

    我被这个错误困扰了一整天 当我尝试运行我的 docker 容器时 出现错误Segmentation fault core dumped 因此 为了重现此错误 我将提供我的环境和代码 下面第一个是 Dockerfile 没什么特别的 FROM
  • 没有JS的固定标题列和行的Html表格

    我目前正在尝试正确显示一种议程 该议程代表头行上的时间和头列上的不同房间 我想要有固定的标题 第一行和第一列 和一个可滚动的表格 显示房间在给定时间是否可用 经过一些研究后 我发现这个问题已经使用 jQuery 或自制 JS 脚本得到了回答
  • 角度4:从不同的组件调用方法

    我有 2 个同级组件 我正在一个组件中执行 http 请求 如果发生特定情况 它应该发出另一个在另一个组件中编写的 http 请求 所以我应该能够调用第一个组件中的方法 这是第一个组件 import Component OnInit Inj
  • 在elasticsearch中使用现有字段作为id

    今天刚开始使用elasticSearch 我想知道是否可以设置某种全局参数以始终使用文档中的某个字段作为 ID 我的 JSON 文档将始终拥有自己的唯一 ID Record ID a06b0000004SWbdAAG System Mods
  • Java 和本地数据库

    TL 博士 需要一些 Java 帮助来连接到真正的本地数据库 无法访问服务器技术 或者如果您可以编写代码 那就可以了 它所要做的就是查询数据库 MS Access 尽管可以更改 并输出一个 JSON 字符串 有关更多具体信息 请参阅 EDI
  • React Native android APK 扩展支持吗?

    我尝试搜索 React Native Android APK Expansion 但找不到任何有关它的页面 RN 支持 APK 扩展文件吗 如何在本地开发中测试它 谢谢 None
  • 在spring data elasticsearch中,聚合查询不能放在存储库实现中吗?

    我第一次使用 spring boot elasticsearch 我现在已经弄清楚如何使用 elastics java api 描述我的串行差异管道查询 正如您将在下面看到的 这个查询相当大 并且为每个对象返回多个存储桶以及每个存储桶之间的
  • 丢失密钥对后访问 EC2 实例

    几个月前 我启动了一个 EC2 实例 当时我将 pem 密钥存储在我的 PC 中 电脑崩溃后 我不得不在上面重新安装 Windows 而且我没有 pem 文件的备份 有什么方法可以让我到达 EC2 实例上的提示符 任何通过 ssh 或其他方
  • ASP.Net MVC 控制器构造函数中的会话为 null

    为什么控制器的构造函数中Session为null 可以从 Action 方法访问它 据推测 因为 MVC 路由框架负责更新控制器 所以它此时还没有 重新 实例化会话 有谁知道这是否是设计使然 如果是 为什么 我已经通过使用延迟加载模式设法规
  • jackson xml 列出了识别为重复键的反序列化

    我正在尝试使用将 xml 转换为 jsonjackson 2 5 1 and jackson dataformat xml 2 5 1xml结构是从Web服务器接收的并且未知 因此我不能用java类来表示该对象 并且我试图直接转换为Tree
  • 莫西忽略场

    使用 moshi 序列化为 json 字符串时是否有一种简单的方法来忽略字段 我只能想到是一个自定义适配器 但我感觉有更好的方法 Use transient关于现场声明 private transient String your varia
  • 使用反射在内部类中实例化带有参数的构造函数

    我有一些类似的事情 object parameter new object 1 parameter 0 x object instantiatedType Activator CreateInstance typeToInstantiate