C# 如何制作C++/是否将CLI ref类指定给WCF的数据成员?
我正在尝试将我的c#应用程序转换为WCF服务 在c#应用程序中,有一些c++/CLI类 我需要通过WCF将该类作为返回值发送给客户端 我可以为c++/CLI ref类使用[DataContract]吗 下面是示例代码C# 如何制作C++/是否将CLI ref类指定给WCF的数据成员?,c#,wcf,c++-cli,C#,Wcf,C++ Cli,我正在尝试将我的c#应用程序转换为WCF服务 在c#应用程序中,有一些c++/CLI类 我需要通过WCF将该类作为返回值发送给客户端 我可以为c++/CLI ref类使用[DataContract]吗 下面是示例代码 // This is C++/CLI Class using namespace System; using namespace System::Runtime::InteropServices; namespace CLIClass { class TestCla
// This is C++/CLI Class
using namespace System;
using namespace System::Runtime::InteropServices;
namespace CLIClass
{
class TestClass
{
public:
int index;
int test;
};
}
您可以像添加任何其他属性一样添加
[DataContract]
属性
在您的例子中,问题来自这样一个事实:您没有声明ref类(托管类),而是声明类(本机类)。只需使用ref class
即可编写:
namespace CLIClass
{
[System::Runtime::Serialization::DataContract]
ref class TestClass
{
public:
[System::Runtime::Serialization::DataMember] property int index;
[System::Runtime::Serialization::DataMember] property int test;
};
}
(并避免在头文件中使用命名空间
)
您需要添加对System.Runtime.Serialization程序集的引用,您可以通过项目属性或通过添加以下行来完成此操作:
#using <System.Runtime.Serialization.dll>
#使用
#using <System.Runtime.Serialization.dll>