共用方式為


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) 方法。

執行已中止。

備註

這個方法可在執行該程式代碼的線程中擲回例外狀況,以非合作方式中止任意 Managed 程式代碼。 雖然程式代碼可能會攔截例外狀況,但會在區塊結尾 catch 重新擲回,直到執行流程返回 ControlledExecution.Run 方法為止。

不保證會立即中止或完全中止程序代碼。 例如,如果線程停滯執行 Unmanaged 程式代碼,或 catch 當做中止程式一部分呼叫的 和 finally 區塊,因而無限期地延遲中止,就可能發生這種情況。 此外,如果線程目前正在執行 或 finally 區塊,可能不會立即中止執行catch

中止非預期位置的程式代碼可能會損毀進程中的數據結構狀態,並導致無法預期的結果。 基於這個理由,此方法不應該用於生產程序代碼,並呼叫它會產生編譯時間警告。

適用於