首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制参数在MetaObject构造函数中的用途?

限制参数在MetaObject构造函数中的用途?
EN

Stack Overflow用户
提问于 2008-12-19 14:46:44
回答 1查看 140关注 0票数 0

目前,在我的DLR语言实现中有一个问题,即对语言中定义的方法的后续调用使用对该方法的第一次调用所使用的相同的输入参数。

所以..。如果我用我的语言这么做:

代码语言:javascript
复制
PrintType( 34 );
PrintType( 34.1 );

..。产出如下:

整数

整数

我期待的是:

整数

小数

我怀疑(但尚不能证实)这一问题的原因如下:

我的调用绑定器( Restrictions.Empty

  • therefore,)生成一个适当的调用表达式,然后使用该表达式和返回一个新的MetaObject,我认为可能发生的情况是,限制参数通知DLR该构造何时可用于该方法的后续调用,而且由于我没有设置固有的限制,所以总是重复使用第一个构造(抱歉,这里的术语可能是错误的……希望你能明白)

所以..。我认为我需要使用为每个参数生成的限制的合并.按类型,或者按实例。

有人能证实或否认我的想法吗?对于我所看到的行为,还有其他的可能性我应该去探索吗?

蒂娅..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-12-19 17:37:58

你的想法是正确的。在这种情况下,您需要一个类型限制--一般来说,您希望有尽可能少的限制,这样代码就可以从尽可能多的调用站点共享。

它的工作方式是,在向绑定器询问规则之前,DLR正在搜索缓存的规则。这些限制将阻止缓存规则适用于一组新的输入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/381141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档