mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-14 08:26:59 +00:00
Add element size parameter to __vector_as_arraysegment [c#] (#5512)
* Add element size parameter to __vector_as_arraysegment Add element size parameter to __vector_as_arraysegment fixing issue where VectorAsBytes returns incorrect size span for multibyte element types. * Update codegen Update codegen and Table to return typed span. * update test files update test files
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
b5560fcd52
commit
2706381eef
@@ -1230,18 +1230,19 @@ class GeneralGenerator : public BaseGenerator {
|
||||
break;
|
||||
case IDLOptions::kCSharp:
|
||||
code += "#if ENABLE_SPAN_T\n";
|
||||
code += " public Span<byte> Get";
|
||||
code += " public Span<" + GenTypeBasic(field.value.type.VectorType()) + "> Get";
|
||||
code += MakeCamel(field.name, lang_.first_camel_upper);
|
||||
code += "Bytes() { return ";
|
||||
code += lang_.accessor_prefix + "__vector_as_span(";
|
||||
code += lang_.accessor_prefix + "__vector_as_span<"+ GenTypeBasic(field.value.type.VectorType()) +">(";
|
||||
code += NumToString(field.value.offset);
|
||||
code += ", " + NumToString(SizeOf(field.value.type.VectorType().base_type));
|
||||
code += "); }\n";
|
||||
code += "#else\n";
|
||||
code += " public ArraySegment<byte>? Get";
|
||||
code += MakeCamel(field.name, lang_.first_camel_upper);
|
||||
code += "Bytes() { return ";
|
||||
code += lang_.accessor_prefix + "__vector_as_arraysegment(";
|
||||
code += NumToString(field.value.offset);
|
||||
code += NumToString(field.value.offset);
|
||||
code += "); }\n";
|
||||
code += "#endif\n";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user