代码之家  ›  专栏  ›  技术社区  ›  Megamozg

Djinni记录能否包含可选的接口字段

  •  0
  • Megamozg  · 技术社区  · 8 年前

    some_record 是否可以为目标c生成?

    some_service = interface +c 
    {
        do_some_action(): bool;
    }
    
    some_record = record 
    {
        service: optional< some_service >;
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Jon McClung Vincent Vettukal    8 年前

    对我来说,这似乎简单而有效(尽管不尝试,我不相信我没有错过一个“抓住你”的案例)。

    请注意,可选接口在Djinni中非常没有意义,除非您还使用不可为null的指针支持(请参阅cpp nn-*参数)。这些依赖于C++中的一个非空模板,如 nn<> 否则,接口在默认情况下都可以为空。启用nn后,默认情况下接口是不可为null的,并且optional最终成为可为null的版本。

    推荐文章