我有一个 C++/CX Windows Store 组件类,我想实现一个可以从 C# 调用的自定义公共 ToString 方法。它编译得很好,但是我从编译器那里得到了一个奇怪的警告。这是重现警告的代码:
public ref class Foo sealed
{
public:
String^ ToString()
{
return ref new String(L"This is from class Foo");
}
};
当我编译上述类时,Visual Studio 2013 显示此警告:
警告 C4827:具有 0 个参数的公共“ToString”方法应标记为虚拟并覆盖 (Foo.cpp)
但是,当我在方法签名上添加“虚拟覆盖”时,编译器中会出现语法错误。如何从 C++/CX 类中覆盖 Object.ToString()?