public string GetFieldIndexExpression(string schemaObject, uint fieldNumber, string index) { switch (category) { case ValueType.Primitive: return ($"{schemaObject}.{SchemaFunctionMappings.IndexSchemaFunctionFromType(primitiveType.Value)}({fieldNumber}, (uint) {index})"); case ValueType.Enum: return($"({FqnType}) {schemaObject}.IndexEnum({fieldNumber}, (uint) {index})"); case ValueType.Type: return($"{FqnType}.Serialization.Deserialize({schemaObject}.IndexObject({fieldNumber}, (uint) {index}))"); default: throw new ArgumentOutOfRangeException(nameof(category), "Unknown type category encountered."); } }