• Michael Collins's avatar
    Add Get Bytes Method Generator for C# · e083e466
    Michael Collins authored
    I updated idl_gen_general.cpp to add support for generating a Get Bytes
    method for a vector to the generated C# source code. Given a byte vector
    field named Foo, a method named GetFooBytes() will be generated in the
    C# source code that will return an ArraySegment<byte> value referencing
    the vector data in the underlying ByteBuffer.
    
    I added a method to Table.cs named __vector_as_arraysegment that is used
    by the code generated by the change to the C# generator.
    __vector_as_arraysegment will take the offset of the vector and will
    return the ArraySegment<byte> value corresponding to the bytes that
    store the vector data.
    
    I updated FlatBuffersExampleTests.cs to add tests to validate my
    implementation of Table.__vector_as_arraysegment. I added tests to
    demonstrate that the bytes for the monster's name can be extracted from
    the underlying byte array. I also added tests to show that
    Table.__vector_as_arraysegment returns a null value if the vector is not
    present in the FlatBuffer.
    
    I used the updated flatc.exe program to regenerate the C# source files
    for the MyGame example. The new Monster class includes the GetXXXBytes
    methods to return the byte arrays containing data for vectors.
    e083e466
Name
Last commit
Last update
..
Example Loading commit data...
__init__.py Loading commit data...