는 OBJECT_NAME가 TBase이어야한다는 오류이다.
다음 번에는 정확한 오류 메시지 (copy + paste 사용)를 게시하십시오. 그러면 우리 모두가 쉽게 사용할 수 있습니다.
어떻게 해결할 수 있습니까?
Thrift로 serialize하려는 것은 Thrift의 TBase
클래스의 자손이어야합니다. 당신은 어떤 Thrift IDL를 작성하여이를 달성하고 파일로 (예를 들어 MyDataStructs.thrift
를) 저장 :
struct Employee {
1: string name
2: string surname
3: i32 age
}
다음, 당신은 드리프트 컴파일러에 해당 파일을 전달하고 그것에서 약간의 C# 코드를 생성하라고 :
thrift -gen csharp MyDataStructs.thrift
을
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
}
}
이 드리프트가 기대하는 것입니다 :
이렇게하면 TBase에서 파생 된 클래스를 제공합니다.
드리프트에서 정의 된 struct 유형의 객체 만 serialize 할 수 있습니다. – flyingfoxlee