Наложение добавления данных FlatBuffers

Я делаю программу чата, используя flat buffer. Я хочу переместить четыре переменных шара. пример) value1 = true, value2 = false, value3 = true, value = false,

Имя схемы Flatbuffers - ServerInfo.

(i = 0; i  < 3; i++)
ServerInfo.AddValue(fb, value [i]);

Я написал этот код. Всего нужно добавить четыре значения, но было добавлено только одно.

Результат хочу) true, false, true, false. Фактические результаты) верно, верно, верно, верно

Часть ServerInfo value.value в test [i] была такой же, как и в value [0]. Как мы можем собрать это однажды?

Определение ServerInfo.AddValue.

public static space addValue (FlatBufferBufferBufferBufferBufferBuilder) {builder.AddBool(4, Value, false); }

person velyyhai_g    schedule 10.02.2020    source источник


Ответы (1)


Вы устанавливаете одно и то же скалярное поле 4 раза. Не уверен, на каком языке вы это делаете, но это должно привести к assert. Если вы хотите сохранить 4 значения, замените bool в своей схеме на [bool].

Я предполагаю, что вы пришли из Protobuf и ожидаете, что каждое поле будет repeated?

person Aardappel    schedule 10.02.2020
comment
Я использую язык C #. Могу ли я использовать Continues ServerInfo.AddValue? Могу ли я продолжать добавлять значения, не используя [bool]? - person velyyhai_g; 11.02.2020