Csharp/C#教程:C#4:确定动态调用中的参数传递语义分享


C#4:确定动态调用中的参数传递语义

在C#4中,当从DynamicObject派生并覆盖TryInvokeMember时,如何确定在调用站点提供的任何参数是否已通过out或ref语义传递? 我可以在提供的binder中看到包含此​​信息的一些私有字段(即Microsoft.CSharp.RuntimeBinder.ICSharpInvokeOrInvokeMemberBinder.ArgumentInfo属性),但它似乎无法访问。 我认为这些信息必须在某处可用,否则会严重限制一个人对所提供输入的了解。

我和DLR团队谈过这件事。 不幸的是,答案是否定的,这些信息不适用于DynamicObject。

原因是ref / out参数非常具有C#特性。 动态对象可以在多种语言之间共享,并非所有语言都有这些符号。 DynamicObject是“按值调用”,因此您的对象可以被不同的API使用。

上述就是C#学习教程:C#4:确定动态调用中的参数传递语义分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/960078.html

(0)
上一篇 2021年11月24日
下一篇 2021年11月24日

精彩推荐