代码之家  ›  专栏  ›  技术社区  ›  Orion Edwards

如何在C++/CLI中向返回值添加属性?

  •  3
  • Orion Edwards  · 技术社区  · 16 年前

    在C中,可以用属性修饰函数返回值,如下所示:

    [return: MarshalAs(UnmanagedType.IUnknown)]
    object LoadStuff();
    

    我的问题是,如何在C++/CLI中做到这一点呢?我有这个:

    [return: MarshalAs(UnmanagedType::IUnknown)]
    Object^ LoadStuff();
    

    但是编译程序出错了 'return' : unknown attribute qualifier .

    有没有其他语法我找不到?

    1 回复  |  直到 16 年前
        1
  •  5
  •   JaredPar    16 年前

    使用返回值而不是返回值

    [returnvalue: MarshalAs(UnmanagedType::IUknown)]
    

    属性目标的完整列表在C++/CLI规范的第28.2节中可用。 (PDF)