通过反射调用带有可选参数的方法

2023-12-03

我在使用带有可选参数的 C# 4.0 时遇到了另一个问题。

我如何调用一个函数(或者更确切地说是一个构造函数,我有ConstructorInfo对象),我知道它不需要任何参数?

这是我现在使用的代码:

type.GetParameterlessConstructor()
    .Invoke(BindingFlags.OptionalParamBinding | 
            BindingFlags.InvokeMethod | 
            BindingFlags.CreateInstance, 
            null, 
            new object[0], 
            CultureInfo.InvariantCulture);

(我刚刚尝试过不同的BindingFlags).

GetParameterlessConstructor是我编写的自定义扩展方法Type.


根据MSDN,要使用默认参数,您应该传递Type.Missing.

如果您的构造函数具有三个可选参数,那么您将传递一个三元素对象数组,其中每个元素的值为Type.Missing, e.g.

type.GetParameterlessConstructor()
    .Invoke(BindingFlags.OptionalParamBinding | 
            BindingFlags.InvokeMethod | 
            BindingFlags.CreateInstance, 
            null, 
            new object[] { Type.Missing, Type.Missing, Type.Missing }, 
            CultureInfo.InvariantCulture);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过反射调用带有可选参数的方法 的相关文章

  • .NET 中是否有内置函数可以对密码进行哈希处理?

    我看到这个问题加密 散列数据库中的纯文本密码 https stackoverflow com questions 287517 encrypting hashing plain text passwords in database 我知道我
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 重载<<的返回值

    include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Angular:从动态组件传回数据

    基于一个example在食谱中 我正在动态创建组件 如下所示 private loadComponent void const componentFactory this factoryResolver resolveComponentFa
  • 如何使用 sed 将一个文件中的模式替换为另一个文件的内容?

    可以说我有fileA 与内容 Hello this is some random text REPLACEHERE and some more random text and fileB与内容 stuff that goes into fi
  • 样式未在 Windows Server 上加载

    我这里有一个 WPF 应用程序 其中有很多自定义样式 在 Windows 7 或 8 1 中 应用程序看起来非常好 但是 如果应用程序在 Windows Server 2008 2012 上启动 则应用程序看起来某些样式未加载或某些属性未设
  • 查询和过滤 MongoDB 中的键名而不是值

    我想从集合中查找部分匹配某个字符串的所有键名称 我得到的最接近的是检查某个密钥是否存在 但这是完全匹配的 db collection find fkClientID exists 1 我想获得所有以fk反而 你可以使用映射减少 要仅获取根级
  • Pyglet 使用过多的 cpu

    我最近开始从 pygame 开始接触 pyglet 和 rabbyt 但我遇到了一些障碍 我创建了一个基本示例 其中一个 Sprite 在 pyglet sprite Sprite 中找到的类型 以每秒 60 帧的速度显示 问题是这个简单的
  • 从 C 中的文本文件加载数字 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想从文本文件 txt 将已知数量的数字加载到 C 语言的数组中 格式为 0 1 2 5 4 我对 C 有点陌生 有人可以推荐一种加载文本文件的方法吗 Cheers 这可以很容易地完
  • 启动包含 C# 参数的命令行

    我需要从我的 C 应用程序启动一个完整的命令行 例如 app exe arg1 1 arg2 true Process Start 和 ProcessStartInfo 需要设置文件名和参数属性 有没有一种方法可以模拟真正的类似 shell
  • KnockoutJS:跟踪菜单点击

    我刚刚开始使用 KnockoutJS 它非常令人着迷 我成功创建了一些模板来渲染界面的两个面板 其中包含 ul 嵌套菜单 这是我的模板
  • WPF:列表框,使所选项目居中

    是否可以始终将所选项目保留在列表框的中间 如果用户选择一个项目 我想滚动以使新选择的项目位于中间 我想 边缘情况 第一个和最后几个项目 是可能的 但没关系 David Anson 在他的博客上发布了一些文章 可能会对您有所帮助 Part 1
  • jquery 将 $(this) 传递给其他函数

    High 我想要做的是 我有一个表 其中的 onclick 附加到驻留在偶数行表中的链接 每个奇数行都被隐藏 单击该链接时 会显示奇数行 并将数据加载到该行中 工作正常 现在我想做的是 每当该过程完成时 我想将一个新的单击功能附加到该链接
  • 修复此 if,else 语句

    问题似乎出在 第 18 行 警告 指针和整数之间的比较第 22 行 错误 else 之前的预期表达式 我究竟做错了什么 有更好的方法吗 include
  • QuickSort 的最坏情况 - 什么时候会发生?

    在分析QS时 大家总是提到 几乎排序 的最坏情况 自然输入什么时候会出现这样的场景 我想到的唯一例子是重新索引 我认为人们混淆了基于分区的排序算法 Quicksort 和各种库实现的 qsort 我更喜欢将快速排序算法视为具有可插入的主元选
  • MIPS32 路由器:内核模块未调用 module_init

    我正在开发一个要在路由器上运行的内核模块 路由器型号为 Netgear 的 DGN2200v2 它在 MIPS 上运行 Linux 2 6 30 我的问题是 当我加载模块时 似乎我的module init没有接到电话 我试图通过修改我的mo
  • Python获取2个日期时间对象之间的整小时值

    我有 2 个日期时间值 开始 和 结束 我想返回恰好位于两者之间 含 之间的所有日期时间的列表 例如 开始 为 09 30 结束 为 14 00 同一天 我想要返回的值是 10 00 11 00 12 00 13 00 14 00 我猜你要
  • Windows 7 上的 Ruby SSL 与 Twitter 在证书 OpenSSL 问题上失败

    我想访问 Twitter 在使用 Net HTTP 的 POST 函数时出现此错误 SSL connect returned 1 errno 0 state SSLv3 read server certificate B certifica
  • 当更新速度太快且需要更新太多数据时,UI 无响应

    我制作了一个控件来将来自不同线程的消息记录到屏幕上 它使用富文本框来显示格式化文本 当有 20 个线程每 200 250 毫秒追加一次消息时 主 UI 会在一段时间内变得无响应 并且在处理等待的消息后 UI 会再次开始响应 当线程运行时 窗
  • 如何在与 Laravel 加密兼容的 C# 中进行加密?

    我想知道如何在 C 中正确加密 Laravel PHP 可以用它的加密解密 这是我的 C 加密 private static readonly Encoding encoding Encoding UTF8 public static vo
  • Java - 如何连接到 Mac OS 上的“复制”和“粘贴”菜单

    我了解您可以 Where CustomMacOSXController implements implements MRJAboutHandler CustomMacOSXController macOSXController new Cu
  • 删除一篇文章并拉入下一页的第一篇文章

    我正在尝试建立一个带有分页系统的博客 例如每页 5 篇文章 分页本身一切都很好 但在每篇文章旁边我都添加了一个 删除 按钮 允许管理员动态删除 jquery 相关文章及其内容 我现在想要的是当我删除一篇文章时 附加 不刷新 下一页的第一篇文
  • 通过反射调用带有可选参数的方法

    我在使用带有可选参数的 C 4 0 时遇到了另一个问题 我如何调用一个函数 或者更确切地说是一个构造函数 我有ConstructorInfo对象 我知道它不需要任何参数 这是我现在使用的代码 type GetParameterlessCon