System::DoTryFinally Methode

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

Die einzige Funktion, die das Verhalten von C#’s try[-catch]-finally Anweisung emuliert. Während der Übersetzung der 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#’s try[-catch]-finally Anweisung emuliert. Während der Übersetzung der 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. Diese Überladung behandelt den Fall, in dem der Rückgabewert des Funktionsobjekts, das den try[-catch]-Teil der try[-catch]-finally Anweisung implementiert, ein 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 try[-catch]-finally-Anweisung von C# emuliert. Während der Übersetzung der try[-catch]-finally-Anweisung von C# mit der Übersetzeroption finally_statement_as_lambda auf true gesetzt, wird die Anweisung in den Aufruf dieser Methode übersetzt. Diese Überladung behandelt den Fall, in dem 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