ValueTask<TResult>.Preserve Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a ValueTask<TResult> that may be used at any point in the future.
public:
System::Threading::Tasks::ValueTask<TResult> Preserve();
public System.Threading.Tasks.ValueTask<TResult> Preserve ();
member this.Preserve : unit -> System.Threading.Tasks.ValueTask<'Result>
Public Function Preserve () As ValueTask(Of TResult)
Returns
A task object for future use.
Remarks
Because a ValueTask<TResult> can be backed by a pooled IValueTaskSource<TResult>, it is not safe to await an arbitrary ValueTask<TResult> multiple times. You can use the Preserve() method to convert this ValueTask<TResult> into the instance backed by a regular Task<TResult> that is safe to await multiple times. This method is similar to AsTask(), but it returns the same ValueTask<TResult> instance when this ValueTask<TResult> represents a successful synchronously completed operation. After calling Preserve() the original ValueTask<TResult> should never be used again.
Applies to
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for