<!DOCTYPE html> <!--[if IE]><![endif]--> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>UniTask<T> Struct | UniTask </title> <meta name="viewport" content="width=device-width"> <meta name="title" content="UniTask<T> Struct | UniTask "> <meta name="generator" content="docfx 2.51.0.0"> <link rel="shortcut icon" href="../img/favicon.ico"> <link rel="stylesheet" href="../styles/docfx.vendor.css"> <link rel="stylesheet" href="../styles/docfx.css"> <link rel="stylesheet" href="../styles/main.css"> <link rel="stylesheet" href="../styles/cysharp.css"> <meta property="docfx:navrel" content="../toc.html"> <meta property="docfx:tocrel" content="toc.html"> </head> <body data-spy="scroll" data-target="#affix" data-offset="120"> <div id="wrapper"> <header> <nav id="autocollapse" class="navbar navbar-default ng-scope" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="navbar-brand"> <a href="../"> <img id="logo" src="../img/Icon.png" alt=""> <span>UniTask</span> </a> </div> </div> <div class="collapse navbar-collapse" id="navbar"> <form class="navbar-form navbar-right" role="search" id="search"> <div class="form-group"> <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> </div> </form> </div> </div> </nav> <div class="subnav navbar navbar-default"> <div class="container hide-when-search" id="breadcrumb"> <ul class="breadcrumb"> <li></li> </ul> </div> </div> </header> <div role="main" class="container body-content hide-when-search"> <div class="sidenav hide-when-search"> <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> <div class="sidetoggle collapse" id="sidetoggle"> <div id="sidetoc"></div> </div> </div> <div class="article row grid-right"> <div class="col-md-10"> <article class="content wrap" id="_content" data-uid="Cysharp.Threading.Tasks.UniTask`1"> <h1 id="Cysharp_Threading_Tasks_UniTask_1" data-uid="Cysharp.Threading.Tasks.UniTask`1" class="text-break">UniTask<T> Struct </h1> <h6><strong>Namespace</strong>: <a class="xref" href="Cysharp.Threading.Tasks.html">Cysharp.Threading.Tasks</a></h6> <h6><strong>Assembly</strong>: cs.temp.dll.dll</h6> <div class="markdown level0 summary"><p>Lightweight unity specified task-like object.</p> </div> <div class="markdown level0 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public struct UniTask<T></code></pre> </div> <section> <h4 class="typeParameters">Type Parameters</h4> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="parametername"><code>T</code></span></dt> <dd></dd> </dl> </section> <h3 id="members">Members</h3> <h4>Constructors </h4> <table class="table table-condensed"> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1__ctor__0_">UniTask(T)</a> </td> <td class="markdown level1 summary"></td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1__ctor_Cysharp_Threading_Tasks_IUniTaskSource__0__System_Int16_">UniTask(IUniTaskSource<T>, Int16)</a> </td> <td class="markdown level1 summary"></td> </tr> </tbody> </table> <h4>Properties </h4> <table class="table table-condensed"> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_Status">Status</a> </td> <td class="markdown level1 summary"></td> </tr> </tbody> </table> <h4>Methods </h4> <table class="table table-condensed"> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_AsUniTask">AsUniTask()</a> </td> <td class="markdown level1 summary"></td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_GetAwaiter">GetAwaiter()</a> </td> <td class="markdown level1 summary"></td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_Preserve">Preserve()</a> </td> <td class="markdown level1 summary"><p>Memoizing inner IValueTaskSource. The result UniTask can await multiple.</p> </td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_SuppressCancellationThrow">SuppressCancellationThrow()</a> </td> <td class="markdown level1 summary"><p>returns (bool IsCanceled, T Result) instead of throws OperationCanceledException.</p> </td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_ToString">ToString()</a> </td> <td class="markdown level1 summary"></td> </tr> </tbody> </table> <h4>Operators </h4> <table class="table table-condensed"> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_op_Implicit_Cysharp_Threading_Tasks_UniTask__0___Cysharp_Threading_Tasks_UniTask">Implicit(UniTask<T> to UniTask)</a> </td> <td class="markdown level1 summary"></td> </tr> <tr> <td> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html#Cysharp_Threading_Tasks_UniTask_1_op_Implicit_Cysharp_Threading_Tasks_UniTask__0____System_Threading_Tasks_ValueTask__0_">Implicit(UniTask<T> to ValueTask<T>)</a> </td> <td class="markdown level1 summary"></td> </tr> </tbody> </table> <h3 id="constructors">Constructors </h3> <section> <a id="Cysharp_Threading_Tasks_UniTask_1__ctor_" data-uid="Cysharp.Threading.Tasks.UniTask`1.#ctor*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1__ctor__0_" data-uid="Cysharp.Threading.Tasks.UniTask`1.#ctor(`0)">UniTask(T)</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask(T result)</code></pre> </div> <section> <h5 class="parameters">Parameters</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="parametername"><code>result</code></span> <span class="xref">T</span></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1__ctor_" data-uid="Cysharp.Threading.Tasks.UniTask`1.#ctor*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1__ctor_Cysharp_Threading_Tasks_IUniTaskSource__0__System_Int16_" data-uid="Cysharp.Threading.Tasks.UniTask`1.#ctor(Cysharp.Threading.Tasks.IUniTaskSource{`0},System.Int16)">UniTask(IUniTaskSource<T>, Int16)</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask(IUniTaskSource<T> source, short token)</code></pre> </div> <section> <h5 class="parameters">Parameters</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="parametername"><code>source</code></span> <a class="xref" href="Cysharp.Threading.Tasks.IUniTaskSource-1.html">IUniTaskSource</a><T></dt> <dd></dd> <dt><span class="parametername"><code>token</code></span> <span class="xref">System.Int16</span></dt> <dd></dd> </dl> </section> </section> <h3 id="properties">Properties </h3> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_Status_" data-uid="Cysharp.Threading.Tasks.UniTask`1.Status*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_Status" data-uid="Cysharp.Threading.Tasks.UniTask`1.Status">Status</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTaskStatus Status { get; }</code></pre> </div> <section> <h5 class="propertyValue">Property Value</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTaskStatus.html">UniTaskStatus</a></dt> <dd></dd> </dl> </section> </section> <h3 id="methods">Methods </h3> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_AsUniTask_" data-uid="Cysharp.Threading.Tasks.UniTask`1.AsUniTask*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_AsUniTask" data-uid="Cysharp.Threading.Tasks.UniTask`1.AsUniTask">AsUniTask()</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask AsUniTask()</code></pre> </div> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTask.html">UniTask</a></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_GetAwaiter_" data-uid="Cysharp.Threading.Tasks.UniTask`1.GetAwaiter*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_GetAwaiter" data-uid="Cysharp.Threading.Tasks.UniTask`1.GetAwaiter">GetAwaiter()</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask<T>.Awaiter GetAwaiter()</code></pre> </div> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.Awaiter.html">UniTask.Awaiter</a><></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_Preserve_" data-uid="Cysharp.Threading.Tasks.UniTask`1.Preserve*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_Preserve" data-uid="Cysharp.Threading.Tasks.UniTask`1.Preserve">Preserve()</h4> <div class="markdown level1 summary"><p>Memoizing inner IValueTaskSource. The result UniTask can await multiple.</p> </div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask<T> Preserve()</code></pre> </div> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html">UniTask</a><T></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_SuppressCancellationThrow_" data-uid="Cysharp.Threading.Tasks.UniTask`1.SuppressCancellationThrow*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_SuppressCancellationThrow" data-uid="Cysharp.Threading.Tasks.UniTask`1.SuppressCancellationThrow">SuppressCancellationThrow()</h4> <div class="markdown level1 summary"><p>returns (bool IsCanceled, T Result) instead of throws OperationCanceledException.</p> </div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public UniTask<(bool IsCanceled, T Result)> SuppressCancellationThrow()</code></pre> </div> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html">UniTask</a><<span class="xref">System.ValueTuple</span><<span class="xref">System.Boolean</span>, T>></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_ToString_" data-uid="Cysharp.Threading.Tasks.UniTask`1.ToString*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_ToString" data-uid="Cysharp.Threading.Tasks.UniTask`1.ToString">ToString()</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public override string ToString()</code></pre> </div> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="xref">System.String</span></dt> <dd></dd> </dl> </section> <h5 class="overrides">Overrides</h5> <div><span class="xref">System.ValueType.ToString()</span></div> </section> <h3 id="operators">Operators </h3> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_op_Implicit_" data-uid="Cysharp.Threading.Tasks.UniTask`1.op_Implicit*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_op_Implicit_Cysharp_Threading_Tasks_UniTask__0___Cysharp_Threading_Tasks_UniTask" data-uid="Cysharp.Threading.Tasks.UniTask`1.op_Implicit(Cysharp.Threading.Tasks.UniTask{`0})~Cysharp.Threading.Tasks.UniTask">Implicit(UniTask<T> to UniTask)</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public static implicit operator UniTask(UniTask<T> self)</code></pre> </div> <section> <h5 class="parameters">Parameters</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="parametername"><code>self</code></span> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html">UniTask</a><T></dt> <dd></dd> </dl> </section> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><a class="xref" href="Cysharp.Threading.Tasks.UniTask.html">UniTask</a></dt> <dd></dd> </dl> </section> </section> <section> <a id="Cysharp_Threading_Tasks_UniTask_1_op_Implicit_" data-uid="Cysharp.Threading.Tasks.UniTask`1.op_Implicit*"></a> <h4 id="Cysharp_Threading_Tasks_UniTask_1_op_Implicit_Cysharp_Threading_Tasks_UniTask__0____System_Threading_Tasks_ValueTask__0_" data-uid="Cysharp.Threading.Tasks.UniTask`1.op_Implicit(Cysharp.Threading.Tasks.UniTask{`0}@)~System.Threading.Tasks.ValueTask{`0}">Implicit(UniTask<T> to ValueTask<T>)</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public static implicit operator ValueTask<T>(in UniTask<T> self)</code></pre> </div> <section> <h5 class="parameters">Parameters</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="parametername"><code>self</code></span> <a class="xref" href="Cysharp.Threading.Tasks.UniTask-1.html">UniTask</a><T></dt> <dd></dd> </dl> </section> <section> <h5 class="returns">Returns</h5> <dl class="cysharpdocfx-valuedefinition"> <dt><span class="xref">System.Threading.Tasks.ValueTask</span><T></dt> <dd></dd> </dl> </section> </section> </article> </div> <div class="hidden-sm col-md-2" role="complementary"> <div class="sideaffix"> <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix"> <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> --> </nav> </div> </div> </div> </div> <footer> <div class="footer"> <div class="container"> <span class="pull-right"> <a href="#top">Back to top</a> </span> Copyright © <a href="https://cysharp.co.jp/">Cysharp</a>, Inc. | <span>Generated by <strong>DocFX</strong></span> </div> </div> </footer> </div> <script type="text/javascript" src="../styles/docfx.vendor.js"></script> <script type="text/javascript" src="../styles/docfx.js"></script> <script type="text/javascript" src="../styles/docfx.override.js"></script> <script type="text/javascript" src="../styles/main.js"></script> </body> </html>