[C#] Add file identifier to ObjectAPI Serialization Utility. (#5920)

* use Finish***Buffer instead.

* add file_identifier test.
This commit is contained in:
mugisoba 2020-05-22 01:14:20 +09:00 committed by GitHub
parent 8dd1bf25b5
commit ac203b2092
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 12 additions and 7 deletions

View File

@ -1823,7 +1823,9 @@ class CSharpGenerator : public BaseGenerator {
code += "[idx" + NumToString(j++) + "]";
}
code += ";";
for (size_t i = 0; i < array_only_lengths.size(); ++i) { code += "}"; }
for (size_t i = 0; i < array_only_lengths.size(); ++i) {
code += "}";
}
} else {
code += "_o";
for (size_t i = 0; i < array_lengths.size(); ++i) {
@ -2035,8 +2037,8 @@ class CSharpGenerator : public BaseGenerator {
code += " }\n";
code += " public byte[] SerializeToBinary() {\n";
code += " var fbb = new FlatBufferBuilder(0x10000);\n";
code +=
" fbb.Finish(" + struct_def.name + ".Pack(fbb, this).Value);\n";
code += " " + struct_def.name + ".Finish" + struct_def.name +
"Buffer(fbb, " + struct_def.name + ".Pack(fbb, this));\n";
code += " return fbb.DataBuffer.ToSizedArray();\n";
code += " }\n";
}

View File

@ -676,6 +676,7 @@ namespace FlatBuffers.Test
AreEqual(a, d);
var fbBuffer = b.SerializeToBinary();
Assert.IsTrue(Monster.MonsterBufferHasIdentifier(new ByteBuffer(fbBuffer)));
var e = MonsterT.DeserializeFromBinary(fbBuffer);
AreEqual(a, e);
}
@ -779,6 +780,7 @@ namespace FlatBuffers.Test
AreEqual(a, d);
var fbBuffer = b.SerializeToBinary();
Assert.IsTrue(ArrayTable.ArrayTableBufferHasIdentifier(new ByteBuffer(fbBuffer)));
var e = ArrayTableT.DeserializeFromBinary(fbBuffer);
AreEqual(a, e);
}
@ -826,6 +828,7 @@ namespace FlatBuffers.Test
AreEqual(a, d);
var fbBuffer = b.SerializeToBinary();
Assert.IsTrue(Movie.MovieBufferHasIdentifier(new ByteBuffer(fbBuffer)));
var e = MovieT.DeserializeFromBinary(fbBuffer);
AreEqual(a, e);
}

View File

@ -66,7 +66,7 @@ public class ArrayTableT
}
public byte[] SerializeToBinary() {
var fbb = new FlatBufferBuilder(0x10000);
fbb.Finish(ArrayTable.Pack(fbb, this).Value);
ArrayTable.FinishArrayTableBuffer(fbb, ArrayTable.Pack(fbb, this));
return fbb.DataBuffer.ToSizedArray();
}
}

View File

@ -891,7 +891,7 @@ public class MonsterT
}
public byte[] SerializeToBinary() {
var fbb = new FlatBufferBuilder(0x10000);
fbb.Finish(Monster.Pack(fbb, this).Value);
Monster.FinishMonsterBuffer(fbb, Monster.Pack(fbb, this));
return fbb.DataBuffer.ToSizedArray();
}
}

View File

@ -196,7 +196,7 @@ public class MonsterExtraT
}
public byte[] SerializeToBinary() {
var fbb = new FlatBufferBuilder(0x10000);
fbb.Finish(MonsterExtra.Pack(fbb, this).Value);
MonsterExtra.FinishMonsterExtraBuffer(fbb, MonsterExtra.Pack(fbb, this));
return fbb.DataBuffer.ToSizedArray();
}
}

View File

@ -196,7 +196,7 @@ public class MovieT
}
public byte[] SerializeToBinary() {
var fbb = new FlatBufferBuilder(0x10000);
fbb.Finish(Movie.Pack(fbb, this).Value);
Movie.FinishMovieBuffer(fbb, Movie.Pack(fbb, this));
return fbb.DataBuffer.ToSizedArray();
}
}