System::ExplicitCast メソッド

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。ソース型と結果型が同じ場合に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::None, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。シンプルなコンストラクタ風キャストが必要な場合に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Static, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。例外ラッパーに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Exception, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。オブジェクトを例外にキャストするために使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::ObjectToException, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。ソースと結果の両方がスマートポインタで、結果型に明示的な SmartPtr<…> が含まれない場合に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Pointer, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。ソースと結果の両方がスマートポインタで、結果型に明示的な SmartPtr<…> が含まれる場合に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::PointerToPointer, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。オブジェクトを nullable にアンボックスするために使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::UnboxingToNullable, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。nullable をボックスするために使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::NullableBoxing, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。nullable オブジェクトをアンボックスするために使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::NullableUnboxing, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。列挙型のボクシングに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::EnumBoxing, SmartPtr<BoxedValueBase>> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。値型をヒープにコピーし、スマートポインタとして参照すべき場合(インターフェイス型で制約されたジェネリックで、構造体がそのインターフェイスを実装している場合)に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::HeapifyBoxing, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。値型からインターフェイスを取得するために使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::InterfaceBoxing, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。一般的なボクシングに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Boxing, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。 System::String のボクシングに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::StringBoxing, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。インターフェイスのアンボックスに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::InterfaceUnboxing, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。一般的なアンボックスに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Unboxing, Result> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。nullptr のキャストに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Null, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(const Source&) method

明示的キャストを使用してソース型を結果型に変換します。配列間のキャストに使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::Array, typename CastResult<Result>::type> System::ExplicitCast(const Source &value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueconst Source&Object をキャスト。

ReturnValue

キャスト結果。

参照

System::ExplicitCast(Source) method

明示的キャストを使用してソース型を結果型に変換します。生ポインタをスマートポインタにキャストする場合に使用されます。

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::RawPointer, typename CastResult<std::remove_pointer_t<Result>>::type> System::ExplicitCast(Source value)
パラメーター説明
ソースソース型。
Result結果型。
パラメーター説明
valueSourceObject をキャスト。

ReturnValue

キャスト結果。

参照