我正在将项目从/ oldsyntax转换为/ clr,并且在公共__gc类Reader中转换我的属性时遇到问题,该类现已成为公共ref类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?
答案 0 :(得分:0)
评论中发布的link包含有关属性新语法的所有信息。
__property
修饰它们。 对于Xml
类型的String
属性,语法为:
在头文件中:
public ref class Reader
{
public:
property String^ Xml
{
String^ get();
void set(String^ value);
}
}
在.cpp文件中:
String^ Reader::Xml::get()
{
return whatever;
}
void Reader::Xml::set(String^ value)
{
whatever = value;
}