/// <inheritdoc cref="ISerializeObjectAsync.SerializeAsync(Stream, object, Type, CancellationToken)"/> public static ValueTask SerializeAsync(this ISerializeObject serializer, Stream target, object?item, Type type, CancellationToken cancellationToken = default) { if (serializer is null) { throw new ArgumentNullException(nameof(serializer)); } return(serializer is ISerializeObjectAsync s ? s.SerializeAsync(target, item, type, cancellationToken) : DefaultMethods.SerializeAsync(serializer, target, item, type)); }
/// <inheritdoc cref="ISerializeAsync.SerializeAsync{T}(Stream, T, CancellationToken)"/> public static ValueTask SerializeAsync <T>(this ISerialize serializer, Stream target, T item, CancellationToken cancellationToken = default) { if (serializer is null) { throw new ArgumentNullException(nameof(serializer)); } return(serializer is ISerializeAsync s ? s.SerializeAsync(target, item, cancellationToken) : DefaultMethods.SerializeAsync(serializer, target, item)); }