【发布时间】:2017-03-28 09:28:30
【问题描述】:
我正在将一个项目从 /oldsyntax 转换为 /clr,但在将我的属性转换为 public __gc class Reader 时遇到了问题,它现在已成为 public ref class Reader
我在 .h 文件中有这些属性(以及其他属性)
__property void set_Xml(System::String *value);
__property System::String *get_Xml();
然后在我的 .cpp 文件中
void Reader::set_Xml(System::String *value)
{
if(value->Chars[0] == '<'){
reader->put_xml(stlString(value).c_str());
}
else {
reader->put_xml_file(stlString(value).c_str());
}
}
System::String *Reader::get_Xml()
{
return gcString(reader->get_xml(), reader->state.is_utf8);
}
我如何重写它以便它可以用 /clr 编译。我正在使用 Visual Studio 2010 吗?
【问题讨论】:
-
我之前也看过这个链接,但它与我的情况不符。我将尝试仅删除 __property 并将 get_Xml 和 set_Xml 保留为普通方法。
-
对于托管类,您还需要将
*替换为^ -
我已将它们改写为 :void set_Xml(System::String^ value);和 System::String^ get_Xml();
标签: c++-cli managed-c++