gpt4 book ai didi

dynamic - C#4.0 动态对象是否有一些鸭子类型(duck typing)的功能?

转载 作者:行者123 更新时间:2023-12-04 20:26:20 24 4
gpt4 key购买 nike

根据 Anders 的说法,在 C#4.0 中,我们将获得动态类型,或“静态类型为动态”的对象。这将允许在运行时而不是编译时发生任何方法调用解析。但是是否有工具将动态对象绑定(bind)到某种合约(从而也获得完整的智能感知),而不是允许对其进行任何调用,即使你知道这不太可能是有效的。

IE。而不仅仅是

dynamic foo = GetSomeDynamicObject();

有能力对其进行转换或转换以将其限制为已知的契约(Contract),例如
IFoo foo2 = foo.To<IFoo>;

甚至只是
IFoo foo2 = foo as IFoo;

在 C#4.0 的现有 Material 中找不到类似的东西,但它似乎是动态范式的逻辑扩展。有更多信息的人吗?

最佳答案

恐怕我不知道有什么真正类似于鸭子类型(duck typing)的东西。我有 blogged about the idea ,但我不希望得到任何支持。使用 Reflection.Emit 来创建一个类可能不会太难,该类将生成任何给定接口(interface)的实现,在构造函数中获取一个动态对象,并将每个调用代理到它。不理想,但它可能是一个权宜之计。

关于dynamic - C#4.0 动态对象是否有一些鸭子类型(duck typing)的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/259929/

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