无法获取 UWP 中 ColumnDefinitionCollection 的“Add”方法

2024-02-20

在 Windows 通用应用程序的上下文中,并使用反射,我试图获取Add方法从一个ColumnDefinitionCollection(内置型)

所以我用这个:

type.GetRuntimeMethods().First(info => info.Name == "Add");

但它返回空!

它也会发生在Contains方法。它们都定义在ICollection<T> (IList<T>从中派生出来的)。

但是,如果我定义自己的类派生自IList<T>,它工作完美。

那么,如何获取Add方法的MethodInfo呢? 是ColumnDefinitionCollection使用一些技巧?也许与 COM 有关的东西?


我真的不知道为什么GetRuntimeMethods没有返回所有方法。这是预期的行为吗?或者这是一个错误?

无论如何,一种解决方案(或者可能是一种解决方法)是获取该类型实现的接口,然后获取这些接口的方法,如下所示:

var methodsOfImplementedInterfaces = 
    type
        .GetTypeInfo()
        .ImplementedInterfaces
        .SelectMany(x => x.GetRuntimeMethods())
        .ToList();

在您的具体情况下,这会起作用,因为Add实际上定义在ICollection<T>这是由ColumnDefinitionCollection.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法获取 UWP 中 ColumnDefinitionCollection 的“Add”方法 的相关文章

随机推荐

  • 在同一个 DOM 元素上使用 ng-show 和 ng-hide 是否正确?

    我想知道在同一个 DOM 元素上使用 ng show 和 ng hide 是否是一个好习惯 这似乎是一个更好的主意 而不是在一个 ng show 中使用多个条件 其中一些条件是否定的 让我知道 谢谢 PS 这里有一个例子 div Mary
  • jQuery 验证器所需的最少字数

    我正在寻找一种使用 jQuery 验证某些输入文本区域的方法 不幸的是 尽管 jQuery 验证器插件很棒 但它缺乏验证 据我所知 最少所需单词 我没有携带代码 我将在早上编辑 但我编写了一个函数来计算输入中的单词数 但这并不像插件提供的那
  • Django 1.9.2 AssertionError:数据库连接未设置为 UTC

    我现在已经使用 PostgreSQL 设置了 3 个服务器 但到目前为止还没有看到这个问题 我现在正在设置第一台不在丹麦服务器上运行的服务器 并且在从网络访问数据库时开始出现错误 我可以毫无问题地使用 createsuperuser 并且它
  • 如何为数组分配排名号

    我有一个数字数组 例如 myarray 45 3 56 7 21 我需要做的是将这些值排列到另一个数组中 因此对于上述内容 我最终会得到 myarray2 4 1 5 2 3 非常感谢 Adam 好了 完整的解决方案
  • 如何将 Delphi XE 包和设置移至其他用户?

    我们已经建立了一个新的 模板 开发机器 其中包括 Delphi XE 其中包括大量第三方和内部软件包 并打算为我们团队中的开发人员制作该计算机的多个克隆 请注意 我们并不是试图绕过许可 我们在克隆后 重新 激活 注册 Windows Off
  • Mac OS下安装pygresql时出现clang错误

    我试图在 Mac OS X 10 11 3 下安装 PyGreSQL 但从 pip 和源安装时会出现相同的 clang 错误 python3 setup py install running install running bdist eg
  • 如何将所有以前的提交合并到一个提交中?

    Context 在 GitHub 上启动项目并一直在尝试 git 命令 该项目的历史是混乱的 问题 如何删除所有历史记录并将所有提交消息替换为 已上传项目源的初始版本 之类的内容 此选项将允许您保留项目的所有配置文件 git reset s
  • DataTable Linq 连接许多列

    我在使用 Linq Join 时遇到问题 我想连接 2 个表 它们具有相同的 n 列结构 我的问题是我不知道这些列的名称 那么我如何在 select new 中重写这些列 表 1 这里我有一些 ID Name 和 LastName 参数 注
  • MySql 错误:1364 字段“display_name”没有默认值

    我刚刚从 MAMP 安装切换到本机 Apache MySql 和 PHP 安装 我已经一切正常 但我已经开始在新环境中使用我的网络应用程序 突然任何 INSERT 命令都会导致以下错误 SQLSTATE HY000 一般错误 1364 字段
  • 为什么 nasm 找不到 cmake 中的 include 语句

    我正在使用一个模块化引导加载程序 我觉得设置它使用 Gas 比将 nasm 移植到 cmake 更痛苦 似乎并非如此 NAsm 无法找到包含文件 我缺少什么 完整的代码可以在这个 Github 存储库 https github com Co
  • 为什么 Google 智能锁对话框只有“从不”和“保存”两个选项,而没有“否”?

    Smart Lock 弹出对话框只有两个按钮 一个是 从不 另一个是 保存密码 如果用户不小心点击了 从不 SmartLock就会被禁用 直到他使用chrome应用程序删除 从未保存过的密码 项 这对于 懒惰用户 来说步骤太多了 而且很有可
  • 不同播放器(AVAudio Player 和 MPMusicPlayer)同时播放时是否可以使用不同的音量?

    我需要使用音频和音乐播放器为不同的播放器设置不同的音量级别 我正在播放这两个播放器 但我不知道如何设置不同的不同音量级别 谢谢你 马丹 莫汉 假设您的 avaudioplayer 名为 theAudio 要控制音量 请说 theAudio
  • Prolog二叉搜索树测试-不需要的父节点的父节点比较

    我是 Prolog 菜鸟 请记住这一点 我尝试编写一个谓词来确定某个给定术语是否是二叉搜索树 我想出了这段代码 is btree nil is btree node N L R number N is btree L is btree R
  • 在 C# 中动态获取美元对印度卢比的汇率?

    我正在开发一个 Windows 应用程序来将美元转换为印度卢比 我知道如何通过以静态方式将美元兑换为印度卢比汇率进行转换 但我希望汇率在我的只读文本框中动态可用 就像我在上图中保留的那样 在搜索 SO 后 我在 C 中找到了这个解决方案 但
  • 在 VS 2008 中为单个项目关闭 Intellisense

    我有一个包含大约 1000 个类的项目 不 没有办法方便地将这个项目分成多个 仅加载项目就需要大约 20 分钟 因为智能感知会缓慢地浏览所有类 并占用近 1GB 内存 有没有办法为单个项目关闭 Intellisense 但为解决方案中的所有
  • Java:通过 Parse.com REST API 将日期对象作为 JSONObject 发送

    我正在尝试使用 HttpsUrlConnection 通过 Parse 的 REST API 在 Parse com 数据库中创建一个新对象 他们的 REST API 只接受 JSON 我已经让一切正常工作 数据库将接受新的对象条目 除非我
  • Pip 21.1 无法导入 InvalidSchemeCombination

    在工作中 我们使用 Github 操作来构建和测试我们的 Pull 请求 然后才能获得批准 周五下午 一切都进展顺利 周一早上 所有测试都很早就失败了 错误显示 pip 无法再找到自己的异常 最新的 Pip 有什么变化吗 正如您在下面的错误
  • 在 asp.net 中的网络位置创建文件

    在我的 ASP net 应用程序中 我创建一个文本文件并将数据写入该文件 我将该文件保存在服务器上的指定位置 这是一个内联网应用程序 当我使用 Visual studio net 在本地运行应用程序时 我可以通过应用程序创建 写入文件并将其
  • 我们可以直接实例化抽象类吗? [复制]

    这个问题在这里已经有答案了 我读过我们只能通过继承来实例化抽象类 但不能直接实例化它 但是 我看到我们可以通过调用另一个类的方法来创建具有抽象类类型的对象 例如 LocationProvider是一个抽象类 我们可以通过调用来实例化它get
  • 无法获取 UWP 中 ColumnDefinitionCollection 的“Add”方法

    在 Windows 通用应用程序的上下文中 并使用反射 我试图获取Add方法从一个ColumnDefinitionCollection 内置型 所以我用这个 type GetRuntimeMethods First info gt info