确定 DynamicObject 成员访问的预期类型

2024-03-11

是否可以确定动态成员访问需要什么类型?我试过了

dynamic foo = new MyDynamicObject();
int x = foo.IntValue;
int y = (int)foo.IntValue;

并且在TryGetMember截距GetMemberBinder.ReturnType无论哪种方式都是对象。我也实施了TryConvert想知道是否可能会调用它来进行转换,但它从未被命中。

我是否缺少其他一些覆盖,可以让我确定调用者想要什么类型,以便我可以进行适当的转换?


在 C# 中,当使用动态时,编译器始终将绑定器设置为对象的返回类型,然后执行第二次动态隐式转换为预期的返回类型。因此,在从 C# 调用时,在 DynamicObject 上,GetMemberBinder.ReturnType 将始终是对象,但这就是说,如果您返回另一种实现了 TryConvert 的跳板动态对象,您可以获得该类型,除非用户这样做var or dynamic作为变量,那么它们有一个代理,在它成为静态类型之前不会执行任何操作。

即兴界面 http://code.google.com/p/impromptu-interface/做了一些不同的事情,但沿着这些思路,因为它还希望有一个根据返回类型而变化的动态实现——只是你必须通过接口来描述动态对象。

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

确定 DynamicObject 成员访问的预期类型 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • cd:参数太多 - 空格正确转义+引号?

    使用 cygwin 终端 我的 bashrc 中有以下内容 export WINHOME cygdrive c Users userName export TUTORING WINHOME Desktop Coding Projects T
  • 如何计算OpenCV中Mat的最大像素值[重复]

    这个问题在这里已经有答案了 我想 这应该是显而易见的 但我找不到简单的方法来找到 OpenCV Mat 中所有像素中的最大值 当然 我可以对每种像素类型执行以下操作 但一般的 max 函数仍然有用 double cvMax cv Mat m
  • Woocommerce:支付网关自定义感谢页面

    我正在创建一个 Woocommerce 自定义支付网关插件 它基本上将用户重定向到支付服务页面 然后支付服务页面将用户重定向回指定的 URL 一切都按预期工作 但我似乎无法创建自定义感谢页面从插件 我所说的 来自插件 的意思是 如果有人安装
  • 使Python程序可执行

    from distutils core import setup import py2exe sys os sys argv append py2exe setup options py2exe bundle files 1 windows
  • 使用ansible复制本地文件(如果存在)

    我正在一个项目中工作 我们使用 ansible 来创建部署服务器集群 我必须实现的任务之一是将本地文件复制到远程主机 前提是该文件本地存在 现在我正在尝试用这个来解决这个问题 hosts 127 0 0 1 connection local
  • boost::container::vector 无法使用 C++03 编译器进行编译

    以下示例在使用带有 std c 0x 标志的 GCC 4 4 6 时可以正常编译 但在 C 03 模式下无法编译 include
  • 在 iOS 上读取实时摄像头流的 getUserMedia() 替代方案?

    我们正在使用 QuaggaJS 构建一个移动条形码扫描仪 它可以直接从设备的摄像头流中读取条形码 在桌面 Android 上运行良好 但在 iOS 上根本不起作用 从最初的研究来看 我发现 iOS 根本不支持 WebRTC getUserM
  • 关于客户端安全,CORS 除了破坏同源策略之外还有其他作用吗?

    如果没有 它真的可以提高客户端安全性吗 我正在考虑来自服务器 X 的脚本使用 XHR 从服务器 Y 支持 CORS 获取并运行不受信任的代码的情况 显然评估不受信任的代码是不好的 我根本不使用 CORS 来提高安全性 我使用 CORS 访问
  • 如何使用 iOS 版 Facebook App Invite SDK 邀请“谁”?

    我一直在尝试让 谁 在我的应用程序上邀请某人 但没有成功 查看了 FB 文档 却一无所获 我的意思是 用户 邀请 朋友 朋友 点击 FB 对话框上的安装 将他带到 App Store 在那里他 她安装我的应用程序 安装应用程序后 应用程序链
  • Javascript中如何判断现在是白天还是晚上? [复制]

    这个问题在这里已经有答案了 我想根据浏览器的时间将不同的 CSS 表应用到我的网站 例如 如果是白天 则显示 day css 或 night css 表示夜间 我可以使用 PHP 执行此操作 但它基于服务器时间 而不是浏览器本地时间 有没有
  • dbpedia SPARQL 查询获取给定城市的某些值

    我确信我想做的事情非常简单 但我似乎无法正确查询 我在数据集中有记录 其中包含城市名称等值 例如 纽约 及其相应的国家 地区代码 例如 美国 我还可以访问完整的国家 地区名称和国家 地区 ISO 代码 我想通过使用 where 子句从 db
  • pear邮件功能密件抄送不会发送

    我从网站复制了 PEAR 邮件的代码 并输入了我的数据 有用 它发送邮件 但是 我想使用密件抄送发送给很多人并保持他们的地址匿名 并且它将发送到 to 收件人 但不是 bcc 代码
  • 如何分别删除有关 Firebase/Analytics 和 swizzing 的 Firebase 警告和控制台消息?

    不知道为什么 firebase 会发出警告说我没有包含Firebase Analytics虽然我不需要它 我在用着Firebase Messaging尽管 我知道消息传递正在按预期工作 那么 我该如何删除这样的警告 Pods Firebas
  • Composer - 使用本地存储库

    我是一名 Composer 初学者 我试图使一个项目依赖于另一个项目 而这两个项目仅存在于我的本地计算机上 我的库项目 ProjectA 中的composer json是 name project util type library 我在这
  • Haskell 中是否有一个内置函数可以获取列表中大小为 n 的所有连续子序列?

    例如 我需要一个函数 gather Int gt a gt a gather n list where gather 3 Hello Hel ell llo ol 我有一个有效的实现 gather Int gt a gt a gather
  • 如何为mysql中的一组记录提供相同的序列号

    我是 mysql 的新手 我在购物车表中有如下记录 id code 1 100 2 101 3 102 4 100 5 100 6 101 我的例外输出如下 id code serial number 1 100 1 2 101 2 3 1
  • Windows 7 Aero 主题进度条错误?

    我在 Windows 7 上遇到了我认为是进度条错误的问题 为了演示该错误 我创建了一个带有按钮和进度条的 WinForm 应用程序 在按钮的 单击 句柄中 我有以下代码 private void buttonGo Click object
  • 如何测量 Linux 中的真实 CPU 使用率?

    我知道有类似的工具top and ps用于测量 CPU 使用率 但他们测量 CPU 使用率的方法是测量空闲任务未运行的时间 因此 例如 即使 CPU 由于缓存未命中而出现停顿 这些工具仍然会认为 CPU 被占用 然而 我想要的是分析工具在停
  • Unity3D,“击倒”类型的灯光对象?

    在 Unity 场景中 想象一下 一个大型滑动物体 可能是 集装箱 或 沙发 由于某种原因滑动 路上有一些2m高的轻质木棍轻轻地插在地上 在现实生活中 木棍会站在那里 首先 这在 PhysX 中实际上很难实现 当大物体击中它们时 大物体将是
  • 确定 DynamicObject 成员访问的预期类型

    是否可以确定动态成员访问需要什么类型 我试过了 dynamic foo new MyDynamicObject int x foo IntValue int y int foo IntValue 并且在TryGetMember截距GetMe