System::DoTryFinally-metod
System::DoTryFinally(T&&, F&&) method
Den enda funktionen som efterliknar beteendet hos C#’s try[-catch]-finally-sats. Vid översättning av C#’s try[-catch]-finally-sats med översättarens alternativ finally_statement_as_lambda satt till true, översätts satsen till ett anrop av denna metod.
template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_void<T>::value> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
| Parameter | Beskrivning |
|---|
| T | Typen av funktionsobjektet som implementerar try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| F | Typen av funktionsobjektet som implementerar finally-delen av den try[-catch]-finally-sats som emuleras |
| Parameter | Type | Beskrivning |
|---|
| tryBlock | T&& | Funktionsobjektet vars kropp innehåller implementeringen av try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| finallyBlock | F&& | Funktionsobjektet vars kropp innehåller implementeringen av finally-delen av den try[-catch]-finally-sats som emuleras |
Se även
System::DoTryFinally(T&&, F&&) method
Den enda funktionen som efterliknar beteendet hos C#’s try[-catch]-finally-sats. Vid översättning av C#’s try[-catch]-finally-sats med översättarens alternativ finally_statement_as_lambda satt till true, översätts satsen till ett anrop av denna metod. Denna överlagring hanterar fallet där returvärdet för funktionsobjektet som implementerar try[-catch]-delen av try[-catch]-finally-satsen är bool.
template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_boolref<T>::value, bool> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
| Parameter | Beskrivning |
|---|
| T | Typen av funktionsobjektet som implementerar try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| F | Typen av funktionsobjektet som implementerar finally-delen av den try[-catch]-finally-sats som emuleras |
| Parameter | Type | Beskrivning |
|---|
| tryBlock | T&& | Funktionsobjektet vars kropp innehåller implementeringen av try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| finallyBlock | F&& | Funktionsobjektet vars kropp innehåller implementeringen av finally-delen av den try[-catch]-finally-sats som emuleras |
Se även
System::DoTryFinally(T&&, F&&) method
Den enda funktionen som emulerar beteendet hos C#’s try[-catch]-finally-sats. Vid översättning av C#’s try[-catch]-finally-sats med översättarens alternativ finally_statement_as_lambda satt till true, översätts satsen till ett anrop av denna metod. Denna överlagring hanterar fallet där returvärdet för funktionsobjektet som implementerar try[-catch]-delen av try[-catch]-finally-satsen är bool&.
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 | Beskrivning |
|---|
| T | Typen av funktionsobjektet som implementerar try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| F | Typen av funktionsobjektet som implementerar finally-delen av den try[-catch]-finally-sats som emuleras |
| Parameter | Type | Beskrivning |
|---|
| tryBlock | T&& | Funktionsobjektet vars kropp innehåller implementeringen av try[-catch]-delen av den try[-catch]-finally-sats som emuleras |
| finallyBlock | F&& | Funktionsobjektet vars kropp innehåller implementeringen av finally-delen av den try[-catch]-finally-sats som emuleras |
Se även