gpt4 book ai didi

protocol-buffers - protobuf 继承?

转载 作者:行者123 更新时间:2023-12-04 07:11:22 32 4
gpt4 key购买 nike

是否可以使用 protobuf与继承的类?

我想做这样的事情

class Expr;
class AddExpr : Expr;
class CallFunc: Expr;

class FunctionBody{
repeatable Expr expr;
}

最佳答案

不在核心实现中 - 您可能想要使用封装。

但是,如果您只使用 protobuf-net ,作为代码优先,我绕过它:

[ProtoInclude(1, typeof(AddExpr))]
[ProtoInclude(2, typeof(CallFunc))]
[ProtoContract]
class Expr {}

[ProtoContract]
class AddExpr : Expr {}
[ProtoContract]
class CallFunc: Expr {}

[ProtoContract]
class FunctionBody{
private List<Expr> expressions;
[ProtoMember(1)]
public List<Expr> Expressions {
get { return expressions ?? (expressions = new List<Expr>()); }
}
}

当然,我假设类中有一些额外的细节——“按原样”你可以只使用一个枚举(它得到了很好的支持)。

关于protocol-buffers - protobuf 继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746678/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com