System::DoTryFinally メソッド

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

単一関数は C#’s の try[-catch]-finally 文の動作をエミュレートします。translator’s のオプション finally_statement_as_lambda が true に設定された状態で C#’s の try[-catch]-finally 文を翻訳する際、ステートメントはこのメソッドの呼び出しに変換されます。

template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_void<T>::value> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
パラメーター説明
Tエミュレートされる try[-catch]-finally 文の try[-catch] 部分を実装する関数オブジェクトの型
Fエミュレートされる try[-catch]-finally 文の finally 部分を実装する関数オブジェクトの型
パラメーター説明
tryBlockT&&エミュレートされる try[-catch]-finally 文の try[-catch] 部分の実装を含む本体を持つ関数オブジェクト
finallyBlockF&&エミュレートされる try[-catch]-finally 文の finally 部分の実装を含む本体を持つ関数オブジェクト

参照

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

単一関数は C#’s の try[-catch]-finally 文の動作をエミュレートします。translator’s のオプション finally_statement_as_lambda が true に設定された状態で C#’s の try[-catch]-finally 文を翻訳する際、ステートメントはこのメソッドの呼び出しに変換されます。このオーバーロードは、try[-catch]-finally 文の try[-catch] 部分を実装する関数オブジェクトの戻り値が bool である場合を処理します。

template<typename T,typename F> std::enable_if_t<Details::is_lambda_void_boolref<T>::value, bool> System::DoTryFinally(T &&tryBlock, F &&finallyBlock)
パラメーター説明
Tエミュレートされる try[-catch]-finally 文の try[-catch] 部分を実装する関数オブジェクトの型
Fエミュレートされる try[-catch]-finally 文の finally 部分を実装する関数オブジェクトの型
パラメーター説明
tryBlockT&&エミュレートされる try[-catch]-finally 文の try[-catch] 部分の実装を含む本体を持つ関数オブジェクト
finallyBlockF&&エミュレートされる try[-catch]-finally 文の finally 部分の実装を含む本体を持つ関数オブジェクト

参照

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

The sigle function that emulates behavior of C#’s try[-catch]-finally statement. During translation of C#’s try[-catch]-finally statement with translator’s option finally_statement_as_lambda set to true, the statement is translated into the invocation of this method. This overload handles the case in which the return value of the function object that implements the try[-catch] part of the try[-catch]-finally statement is 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)
パラメーター説明
Tエミュレートされる try[-catch]-finally 文の try[-catch] 部分を実装する関数オブジェクトの型
Fエミュレートされる try[-catch]-finally 文の finally 部分を実装する関数オブジェクトの型
パラメーター説明
tryBlockT&&エミュレートされる try[-catch]-finally 文の try[-catch] 部分の実装を含む本体を持つ関数オブジェクト
finallyBlockF&&エミュレートされる try[-catch]-finally 文の finally 部分の実装を含む本体を持つ関数オブジェクト

参照