[C#] Using 'global::' as qualifying_start_ within BaseGenerator (#6767)

* Update idl_gen_csharp.cpp

Change csharp generator to use "global::" for it's qualifying_start_ to disambiguate namespaces

* regenerate testing files

regenerate testing files

* Missed TableInC.cs

updated with global prefix

* Remove "global::" from qualifying_start_ for csharp generator

* C# global alias

* Tests and docs for --cs-global-alias

Add tests for --cs-global-alias to demonstrate use case for why it's needed.

Add documentation to Compiler.md

* Add also to help text

Add also to help text
This commit is contained in:
Todd Hansen
2021-09-15 16:57:29 -05:00
committed by GitHub
parent 90baa1444b
commit 6f7a57eaa0
14 changed files with 153 additions and 3 deletions

View File

@@ -0,0 +1,65 @@
// <auto-generated>
// automatically generated by the FlatBuffers compiler, do not modify
// </auto-generated>
namespace NamespaceA.NamespaceB
{
using global::System;
using global::System.Collections.Generic;
using global::FlatBuffers;
public struct ColorTestTable : IFlatbufferObject
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
public static ColorTestTable GetRootAsColorTestTable(ByteBuffer _bb) { return GetRootAsColorTestTable(_bb, new ColorTestTable()); }
public static ColorTestTable GetRootAsColorTestTable(ByteBuffer _bb, ColorTestTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
public ColorTestTable __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
public global::NamespaceB.Color Color { get { int o = __p.__offset(4); return o != 0 ? (global::NamespaceB.Color)__p.bb.GetSbyte(o + __p.bb_pos) : global::NamespaceB.Color.Blue; } }
public bool MutateColor(global::NamespaceB.Color color) { int o = __p.__offset(4); if (o != 0) { __p.bb.PutSbyte(o + __p.bb_pos, (sbyte)color); return true; } else { return false; } }
public static Offset<global::NamespaceA.NamespaceB.ColorTestTable> CreateColorTestTable(FlatBufferBuilder builder,
global::NamespaceB.Color color = global::NamespaceB.Color.Blue) {
builder.StartTable(1);
ColorTestTable.AddColor(builder, color);
return ColorTestTable.EndColorTestTable(builder);
}
public static void StartColorTestTable(FlatBufferBuilder builder) { builder.StartTable(1); }
public static void AddColor(FlatBufferBuilder builder, global::NamespaceB.Color color) { builder.AddSbyte(0, (sbyte)color, 2); }
public static Offset<global::NamespaceA.NamespaceB.ColorTestTable> EndColorTestTable(FlatBufferBuilder builder) {
int o = builder.EndTable();
return new Offset<global::NamespaceA.NamespaceB.ColorTestTable>(o);
}
public ColorTestTableT UnPack() {
var _o = new ColorTestTableT();
this.UnPackTo(_o);
return _o;
}
public void UnPackTo(ColorTestTableT _o) {
_o.Color = this.Color;
}
public static Offset<global::NamespaceA.NamespaceB.ColorTestTable> Pack(FlatBufferBuilder builder, ColorTestTableT _o) {
if (_o == null) return default(Offset<global::NamespaceA.NamespaceB.ColorTestTable>);
return CreateColorTestTable(
builder,
_o.Color);
}
}
public class ColorTestTableT
{
[Newtonsoft.Json.JsonProperty("color")]
public global::NamespaceB.Color Color { get; set; }
public ColorTestTableT() {
this.Color = global::NamespaceB.Color.Blue;
}
}
}