2

我正在让类库在 CLR 上运行。

我想知道我应该如何编写返回可为空类型的函数。

如何制作与下面的 C# 类完全相同的 C++ ref 类?

我已经在 MSDN 上搜索过了,但我再也找不到了。

class ResultClass
{
}

class SomeClass
{
    public ResultClass? getResult();
}

谢谢你的阅读。

4

1 回答 1

2

C++/CLI 不支持带有 ? 的语法糖。问号,您必须明确使用 Nullable<> 结构。它在其他方面与 C# 具有相同的用法,您永远不会在引用类型上使用 Nullable<>。只需返回nullptrResultClass 之类的引用类型。显示语法的片段:

public ref class SomeClass {
public:
    ResultClass^ getResult() {
       return nullptr;    // TODO: call native code
    }
    Nullable<int> nullableExample() {
       Nullable<int> retval;
       if (someCondition) retval = Nullable<int>(42);
       return retval;
    }
};
于 2013-10-27T13:48:34.283 回答