System::DoTryFinally Methode

System::DoTryFinally(T&&, F&&) method

Die einzige Funktion, die das Verhalten von C#’s try[-catch]-finally‑Anweisung nachahmt. Während der Übersetzung von C#’s try[-catch]-finally‑Anweisung mit der Option des Translators finally_statement_as_lambda, die auf true gesetzt ist, wird die Anweisung in den Aufruf dieser Methode übersetzt.

template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_void<T>::value> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
ParameterBeschreibung
TDer Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally‑Anweisung implementiert
FDer Typ des Funktionsobjekts, das den finally‑Teil der emulierten try[-catch]-finally‑Anweisung implementiert
ParameterTypBeschreibung
tryBlockT&&Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally‑Anweisung enthält
finallyBlockF&&Das Funktionsobjekt, dessen Körper die Implementierung des finally‑Teils der emulierten try[-catch]-finally‑Anweisung enthält.

Siehe auch

System::DoTryFinally(T&&, F&&) method

Die einzige Funktion, die das Verhalten der C#-try[-catch]-finally-Anweisung emuliert. Während der Übersetzung der C#-try[-catch]-finally-Anweisung mit der Übersetzeroption finally_statement_as_lambda auf true gesetzt, wird die Anweisung in den Aufruf dieser Methode übersetzt. Diese Überladung behandelt den Fall, dass der Rückgabewert des Funktionsobjekts, das den try[-catch]-Teil der try[-catch]-finally-Anweisung implementiert, bool ist.

template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_boolref<T>::value, bool> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
ParameterBeschreibung
TDer Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally‑Anweisung implementiert
FDer Typ des Funktionsobjekts, das den finally‑Teil der emulierten try[-catch]-finally‑Anweisung implementiert
ParameterTypBeschreibung
tryBlockT&&Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally‑Anweisung enthält
finallyBlockF&&Das Funktionsobjekt, dessen Körper die Implementierung des finally‑Teils der emulierten try[-catch]-finally‑Anweisung enthält.

Siehe auch

System::DoTryFinally(T&&, F&&) method

Die einzige Funktion, die das Verhalten der C#-try[-catch]-finally-Anweisung emuliert. Während der Übersetzung der C#-try[-catch]-finally-Anweisung mit der Übersetzeroption finally_statement_as_lambda auf true gesetzt, wird die Anweisung in den Aufruf dieser Methode übersetzt. Diese Überladung behandelt den Fall, dass der Rückgabewert des Funktionsobjekts, das den try[-catch]-Teil der try[-catch]-finally-Anweisung implementiert, bool& ist.

template<typename T,typename F> std::enable_if_t<Details::is_lambda_nonovoid_boolref<T>::value, std::optional<Details::ResultOf<T, bool &>>> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
ParameterBeschreibung
TDer Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally‑Anweisung implementiert
FDer Typ des Funktionsobjekts, das den finally‑Teil der emulierten try[-catch]-finally‑Anweisung implementiert
ParameterTypBeschreibung
tryBlockT&&Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally‑Anweisung enthält
finallyBlockF&&Das Funktionsobjekt, dessen Körper die Implementierung des finally‑Teils der emulierten try[-catch]-finally‑Anweisung enthält.

Siehe auch