flatbuffers/tests/MyGame/Example
bigjt 1a7495a6dd
[C#] Add GetBytes methods for fixed arrays (#8633)
* [C#] Add GetBytes methods for fixed arrays

I wanted to direct access to fixed array bytes. I made some changes to the idl generator to create GetBytes functions following the same naming conventions used for vectors of scalar types. There was not a 'Length' field present to bound the existing index accessor so I added that too.

+ Add generic GetBytes for fixed length arrays of scalar types
+ Implement conditional compilation for ENABLE_SPAN_T:
  - ENABLE_SPAN_T: Returns `Span<T>` using `MemoryMarshal.Cast<byte, T>()` as needed.
  - Else: Returns `ArraySegment<byte>?` for raw byte access
+ Added tests reusing arrays_test.fbs definitions
+ Added const int Length field to support existing index based accessors

* [C#] Sync generated code for after adding GetBytes methods for fixed arrays

---------

Co-authored-by: Björn Harrtell <bjornharrtell@users.noreply.github.com>
2026-02-04 23:13:32 +00:00
..
NestedUnion [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
__init__.py
Ability.cs [C#] Prepares for official Nuget release (#7496) 2022-09-01 10:17:34 -07:00
Ability.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Ability.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Ability.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Ability.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Ability.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Ability.php
Ability.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
AbilityT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Any.cs Fix verification for C# unions (#7970) 2023-09-30 18:54:48 -07:00
Any.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Any.java
Any.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Any.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Any.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Any.php
Any.py [Python] Render enums as Python IntEnum (#8145) 2024-06-03 08:39:14 -07:00
AnyAmbiguousAliases.cs Fix verification for C# unions (#7970) 2023-09-30 18:54:48 -07:00
AnyAmbiguousAliases.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
AnyAmbiguousAliases.java
AnyAmbiguousAliases.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
AnyAmbiguousAliases.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
AnyAmbiguousAliases.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
AnyAmbiguousAliases.php
AnyAmbiguousAliases.py [Python] Render enums as Python IntEnum (#8145) 2024-06-03 08:39:14 -07:00
AnyAmbiguousAliasesUnion.java
AnyUnion.java
AnyUniqueAliases.cs Fix verification for C# unions (#7970) 2023-09-30 18:54:48 -07:00
AnyUniqueAliases.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
AnyUniqueAliases.java
AnyUniqueAliases.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
AnyUniqueAliases.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
AnyUniqueAliases.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
AnyUniqueAliases.php
AnyUniqueAliases.py [Python] Render enums as Python IntEnum (#8145) 2024-06-03 08:39:14 -07:00
AnyUniqueAliasesUnion.java
ArrayStruct.cs [C#] Add GetBytes methods for fixed arrays (#8633) 2026-02-04 23:13:32 +00:00
ArrayStruct.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
ArrayStruct.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
ArrayStruct.pyi [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
ArrayStructT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
ArrayTable.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
ArrayTable.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
ArrayTable.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
ArrayTable.pyi [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
ArrayTableT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Color.cs
Color.go
Color.java
Color.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Color.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Color.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Color.php
Color.py
LongEnum.cs
LongEnum.go
LongEnum.java Fix LongEnum definitions (#7596) 2022-10-20 18:15:00 -07:00
LongEnum.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
LongEnum.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
LongEnum.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
LongEnum.php
LongEnum.py
Monster.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Monster.go [Go] Write required string fields into the buffer when using Object API (#8402) 2025-12-01 09:50:03 -05:00
Monster.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Monster.kt FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Monster.lua Feature: lua now file_ident aware (#8850) 2026-02-04 13:05:08 +00:00
Monster.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Monster.php FlatBuffers 64 for C++ (#7935) 2023-05-09 09:16:30 -07:00
Monster.py [Python] Improve python API (#8781) 2026-01-21 01:01:20 +00:00
monster_test_grpc_fb.py bulk code format fix (#8707) 2025-09-23 21:50:27 -07:00
MonsterStorage_grpc.go
MonsterStorageGrpc.java bulk code format fix (#8707) 2025-09-23 21:50:27 -07:00
MonsterT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
NestedStruct.cs [C#] Add GetBytes methods for fixed arrays (#8633) 2026-02-04 23:13:32 +00:00
NestedStruct.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
NestedStruct.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
NestedStruct.pyi [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
NestedStructT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Race.cs
Race.go
Race.java
Race.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Race.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Race.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Race.php
Race.py
Referrable.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Referrable.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Referrable.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Referrable.kt FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Referrable.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Referrable.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Referrable.php
Referrable.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
ReferrableT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Stat.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Stat.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Stat.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Stat.kt FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Stat.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Stat.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Stat.php
Stat.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
StatT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
StructOfStructs.cs [C#] Prepares for official Nuget release (#7496) 2022-09-01 10:17:34 -07:00
StructOfStructs.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
StructOfStructs.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
StructOfStructs.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
StructOfStructs.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
StructOfStructs.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
StructOfStructs.php
StructOfStructs.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
StructOfStructsOfStructs.cs [C#] Prepares for official Nuget release (#7496) 2022-09-01 10:17:34 -07:00
StructOfStructsOfStructs.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
StructOfStructsOfStructs.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
StructOfStructsOfStructs.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
StructOfStructsOfStructs.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
StructOfStructsOfStructs.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
StructOfStructsOfStructs.php
StructOfStructsOfStructs.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
StructOfStructsOfStructsT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
StructOfStructsT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Test.cs [C#] Prepares for official Nuget release (#7496) 2022-09-01 10:17:34 -07:00
Test.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Test.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Test.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Test.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Test.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Test.php
Test.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
TestEnum.cs
TestEnum.java
TestEnum.kt bulk code format fix (#8707) 2025-09-23 21:50:27 -07:00
TestEnum.py
TestEnum.pyi [Python] Avoid double flatbuffers include in pyi files (#8626) 2025-07-17 12:37:19 -07:00
TestSimpleTableWithEnum.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TestSimpleTableWithEnum.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
TestSimpleTableWithEnum.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TestSimpleTableWithEnum.kt FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TestSimpleTableWithEnum.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TestSimpleTableWithEnum.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TestSimpleTableWithEnum.php
TestSimpleTableWithEnum.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
TestSimpleTableWithEnumT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
TestT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
TypeAliases.cs FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TypeAliases.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
TypeAliases.java FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TypeAliases.kt FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TypeAliases.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TypeAliases.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
TypeAliases.php
TypeAliases.py [Python] Improve python API (#8781) 2026-01-21 01:01:20 +00:00
TypeAliasesT.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Vec3.cs [C#] Prepares for official Nuget release (#7496) 2022-09-01 10:17:34 -07:00
Vec3.go Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
Vec3.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00
Vec3.kt Only generate @kotlin.ExperimentalUnsigned annotation on create*Vector methods having an unsigned array type parameter. (#7881) 2023-04-28 17:10:01 +00:00
Vec3.lua FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Vec3.nim FlatBuffers Version 25.12.19 (#8871) 2025-12-19 15:06:07 -08:00
Vec3.php
Vec3.py [Python] Enhance object API __init__ with typed keyword arguments (#8615) 2025-07-22 23:57:39 -07:00
Vec3T.java [Java] Use Table's fully qualified path (#8729) 2025-12-01 11:28:50 -05:00