在这里是一个错误,那OBJECT_NAME应该在TBASE。
下一次,请发布确切的错误消息(使用复制+粘贴),这使我们所有人更容易。
我该如何解决这个问题?
无论你想要与Thrift序列化,必须是Thrift的TBase
类的后裔。通过编写一些Thrift IDL实现这一目标,并将其保存为一个文件(如MyDataStructs.thrift
):
struct Employee {
1: string name
2: string surname
3: i32 age
}
接下来,你该文件传递给节俭的编译器,并告诉他,以从它的一些C#代码:
thrift -gen csharp MyDataStructs.thrift
这给你从TBASE派生的类:
public partial class Employee : TBase
{
private string _name;
private string _surname;
private int _age;
// properties
public string Name {... }
public string Surname { ... }
public int Age { ... }
// some details omitted
public void Read (TProtocol iprot)
{
// generated code for Read() method
}
public void Write(TProtocol oprot) {
// generated code for Write() method
}
public override string ToString() {
// generated code for ToString() method
}
}
这是节俭的期望。
您只能序列化在thrift中定义的struct类型的对象。 – flyingfoxlee