簡體   English   中英

C# 具有自定義屬性的 protobuf

[英]C# protobuf with customize attributes

我想生成具有自定義屬性的 C# protobuf 代碼。 如:

public sealed partial class LoginIn : pb::IMessage<LoginIn>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    [mycall] // customize attributes
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute] // original
    public LoginIn() {
      OnConstruction();
    }
   ... // rest code

使用partial class ,您可以向類型添加屬性(和成員),但不能向單個成員添加屬性,因此:您不能在這里做任何簡單的事情。 實際上,您需要調整代碼生成本身(意思是:創建您自己的protoc插件版本),這遠非理想。

另一種選擇是手動編輯生成的代碼——同樣:遠非理想。

在做任何一個之前,我必須問自己一些關於[mycall]的嚴肅問題,它有多重要,它做什么,以及是否有必要將它添加到序列化 model與創建我自己的域 model 相比您想要的任何屬性,以及域 model 和序列化 model 之間的映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM