Ras*_*ber 6 dynamic-language-runtime dynamic idynamicobject c#-4.0
要在C#4.0中实现"方法缺失" - 语义等,您必须实现IDynamicObject:
public interface IDynamicObject
{
MetaObject GetMetaObject(Expression parameter);
}
Run Code Online (Sandbox Code Playgroud)
据我所知,IDynamicObject实际上是DLR的一部分,所以它不是新的.但我还没有找到很多关于它的文件.
有一些非常简单的示例实现(这里和这里的 fx ),但是有人能指出更完整的实现或一些真正的文档吗?
特别是,你究竟应该如何处理"参数" - 参数?
简而言之,元对象负责实际生成将在调用站点运行的代码。为此使用的机制是 LINQ 表达式树,该机制已在 DLR 中得到增强。因此,它不是从对象开始,而是从代表该对象的表达式开始,最终需要返回一个描述要采取的操作的表达式树。
在使用此功能时,请记住 CTP 中的 System.Core 版本取自 8 月底的快照。它与 IronPython 的任何特定测试版并没有非常明确地对应。自那时起,DLR 发生了许多变化。
此外,为了与 CLR v2 System.Core 兼容,从 beta 4 或 beta 5 开始的 IronPython 版本现在将 System 命名空间中的所有内容重命名为 Microsoft 命名空间中。
| 归档时间: |
|
| 查看次数: |
5061 次 |
| 最近记录: |