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)
| Parameter | Beschreibung |
|---|
| T | Der Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| F | Der Typ des Funktionsobjekts, das den finally-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| Parameter | Typ | Beschreibung |
|---|
| tryBlock | T&& | Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally Anweisung enthält |
| finallyBlock | F&& | 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)
| Parameter | Beschreibung |
|---|
| T | Der Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| F | Der Typ des Funktionsobjekts, das den finally-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| Parameter | Typ | Beschreibung |
|---|
| tryBlock | T&& | Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally Anweisung enthält |
| finallyBlock | F&& | 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)
| Parameter | Beschreibung |
|---|
| T | Der Typ des Funktionsobjekts, das den try[-catch]-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| F | Der Typ des Funktionsobjekts, das den finally-Teil der emulierten try[-catch]-finally Anweisung implementiert |
| Parameter | Typ | Beschreibung |
|---|
| tryBlock | T&& | Das Funktionsobjekt, dessen Körper die Implementierung des try[-catch]-Teils der emulierten try[-catch]-finally Anweisung enthält |
| finallyBlock | F&& | Das Funktionsobjekt, dessen Körper die Implementierung des finally-Teils der emulierten try[-catch]-finally Anweisung enthält |
Siehe auch