2

「パッケージ」と呼ばれるprotoBufにメッセージがあり、その「パッケージ」のすべての必須フィールドに入力する目的で.protoファイルをクラスに生成しましたが、正常に動作します。今、「パッケージ」と呼ばれるprotoBufメッセージインスタンスがあり、それをストリームにシリアライズしてからファイルに出力したいと考えています。

                    byte[] data;
                    using (var ms = new MemoryStream())
                    {
                        Serializer.Serialize<repo_package.Package.Builder>(ms, package);
                        data = ms.ToArray();
                    }
                    string packageFilePath = Path.Combine("C:\\1", package.Name);
                    File.WriteAllBytes(packageFilePath, data);

問題は、「シリアライザー」関数を呼び出すときにエラーが発生することです。エラーは

「データ コントラクト クラス (およびそのようなリスト/配列) のみを処理できます」

何故ですか?パッケージ (protobuf メッセージ) をファイルに出力するにはどうすればよいですか?

ありがとうございました、

オリオン。

4

1 に答える 1