ValueTask.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 that may be used at any point in the future.
public:
System::Threading::Tasks::ValueTask Preserve();
public System.Threading.Tasks.ValueTask Preserve ();
member this.Preserve : unit -> System.Threading.Tasks.ValueTask
Public Function Preserve () As ValueTask
Returns
The preserved ValueTask.
Remarks
Because a ValueTask can be backed by a pooled IValueTaskSource, it is not safe to await an arbitrary ValueTask multiple times. You can use the Preserve() method to convert this ValueTask into the instance backed by a regular Task that is safe to await multiple times. This method is similar to AsTask(), but it returns the same ValueTask instance when this ValueTask represents a successful synchronously completed operation. After calling Preserve() the original ValueTask should never be used again.