public string GetDeserializationExpression(string schemaObject, uint fieldNumber) { switch (category) { case ValueType.Primitive: return ($"{schemaObject}.{SchemaFunctionMappings.GetSchemaFunctionFromType(primitiveType.Value)}({fieldNumber})"); case ValueType.Enum: return($"({FqnType}) {schemaObject}.GetEnum({fieldNumber})"); case ValueType.Type: return($"{FqnType}.Serialization.Deserialize({schemaObject}.GetObject({fieldNumber}))"); default: throw new ArgumentOutOfRangeException("Unknown type category encountered."); } }
public string GetDeserializationExpression(string schemaObject, int fieldNumber) { switch (category) { case ContainedTypeCategory.Primitive: return ($"{schemaObject}.{SchemaFunctionMappings.GetSchemaFunctionFromType(rawType)}({fieldNumber})"); case ContainedTypeCategory.Enum: return($"({Type}) {schemaObject}.GetEnum({fieldNumber})"); case ContainedTypeCategory.UserDefined: return($"{Type}.Serialization.Deserialize({schemaObject}.GetObject({fieldNumber}))"); default: throw new ArgumentOutOfRangeException("Unknown type category encountered."); } }