ControlledExecution.Run(Action, CancellationToken) メソッド

定義

注意事項

ControlledExecution.Run method may corrupt the process and should not be used in production code.

非同期的に中止できるコードを実行します。

public:
 static void Run(Action ^ action, System::Threading::CancellationToken cancellationToken);
[System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void Run(Action action, System.Threading.CancellationToken cancellationToken);
[<System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Run : Action * System.Threading.CancellationToken -> unit
Public Shared Sub Run (action As Action, cancellationToken As CancellationToken)

パラメーター

action
Action

実行するコードを表すデリゲート。

cancellationToken
CancellationToken

実行を中止するために使用できるキャンセル トークン。

属性

例外

このメソッドは、このプラットフォームではサポートされていません。

action引数はnull

現在のスレッドは既に Run(Action, CancellationToken) メソッドを実行しています。

実行が中止されました。

注釈

このメソッドを使用すると、そのコードを実行しているスレッドで例外をスローすることで、任意のマネージド コードを非協調的な方法で中止できます。 コードによって例外がキャッチされる可能性はありますが、実行フローが ControlledExecution.Run メソッドに戻るまで、catch ブロックの最後に再スローされます。

コードの実行が直ちに中止される、またはまったく中止される保証はありません。 この状況は、たとえば、アンマネージド コードや、中止プロシージャの一部として呼び出される catch ブロックや finally ブロックの実行がスタックしている場合に、中止を無期限に遅延させる可能性があります。 さらに、スレッドが現在 catch または finally ブロックを実行している場合、すぐには実行が中止されない場合があります。

予期しない場所でコードを中止すると、プロセス内のデータ構造の状態が破損し、予期しない結果が生じる可能性があります。 そのため、このメソッドは実稼働コードでは使用しないでください。このメソッドを呼び出すと、コンパイル時の警告が生成されます。

適用対象