0

私はもともと Google Protobuf 3.1 プロトコル コンパイラを使用して Filepath.cs クラスを自動生成していました。filepath.proto ファイルは proto2 構文用に記述されているため、proto3 に準拠するようにファイルを手動で変更する必要がありました。

どうしようもない理由で、proto2 構文に固執する必要があることがわかりました。protoc バージョン 3.0.0alpha3 が proto2 ファイルの C# コード生成をサポートしていることがわかりました (新しい protoc バージョンは proto2 ファイルの C# コード生成をサポートしていないため、alpha 3 に戻しました)。

生成されたコードは異なり、私の既存のコード (もともと protoc 3.1 で動作していたが、動作しなくなりました):

    FilePath fp = new FilePath
    {
        Path = "TestPath",
        TestValue = 5.0f
    };  

このコードのチャンクは、alpha3 で生成されたファイルでは機能しなくなりました。古いバージョンの Protobuf を使用してオブジェクトを適切にシリアル化/逆シリアル化する方法を知っている人はいますか?古いチュートリアルがどこかにアーカイブされているかどうかは?

私はできる:

FilePath fp; 
fp.Path = "test_path_here"; //ERROR - no SETTER, only a GETTER

フィールドPathとにTestValueはゲッターのみがあり、セッターはありません。

4

1 に答える 1