public void Convert() { var valTuple = ValueTupleConvert.Convert(typeof(ValueTuple <int, string, long>), new object[] { 1, "SmartSql", 2L }); var typedVal = (ValueTuple <int, string, long>)valTuple; Assert.NotNull(valTuple); }
public async Task <TResult> ToSingeAsync <TResult>(ExecutionContext executionContext) { var valueTupleType = typeof(TResult); var resultGenericTypeArguments = valueTupleType.GenericTypeArguments; var resultItems = new object[resultGenericTypeArguments.Length]; for (int i = 0; i < resultGenericTypeArguments.Length; i++) { var argType = resultGenericTypeArguments[i]; var deser = _deserializerFactory.Get(executionContext, argType); resultItems[i] = TypeDeserializer.Deserialize(argType, deser, executionContext); if (!await executionContext.DataReaderWrapper.NextResultAsync()) { break; } } return((TResult)ValueTupleConvert.Convert(valueTupleType, resultItems)); }