gpt4 book ai didi

.net - 通过 DynamicObject 实现 void 方法时的结果值

转载 作者:行者123 更新时间:2023-12-01 13:06:59 28 4
gpt4 key购买 nike

我正在查看覆盖 DynamicObject 上的 TryInvokeMember 以实现动态方法绑定(bind)的示例。签名如下

public virtual bool TryInvokeMember(
InvokeMemberBinder binder,
Object[] args,
out Object result
)

显然 result 用于将结果传回给调用者。

由于 TryInvokeMember 在没有 result out 参数的情况下没有重载,因此我假设此方法也必须处理 void 方法。在那种情况下,是否有关于 result 应设置为什么的指南?

DynamicObject 的默认实现将 result 设置为 null,这也是我的默认选择,但我没能找到任何提及的内容在例子中。这有什么指导方针吗?结果是什么重要吗?

最佳答案

是的,在这种情况下只需使用 null。

之前这里有一些类似的问题:How do I express a void method call as the result of DynamicMetaObject.BindInvokeMember?这是关于 IDynamicMetaObjectProvider 的,但 DynamicObject 只是其实现之一。很快,DLR 将始终返回一些东西,它不允许返回 void。

我会看看我能对 MSDN 文档做些什么。我可能会在 DynamicObject.TryInvokeMember 中添加关于此的注释.

关于.net - 通过 DynamicObject 实现 void 方法时的结果值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416890/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com