在這裏是一個錯誤,那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