System::ExplicitCast method

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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
valueconst Source&Object для приведения.

ReturnValue

Результат приведения.

См. также

System::ExplicitCast(const Source&) method

Преобразует исходный тип в тип результата с использованием явного приведения. Используется для упаковки enum.

template<typename Result,typename Source> std::enable_if_t<Details::CastType<Source, Result>::EnumBoxing, SmartPtr<BoxedValueBase>> System::ExplicitCast(const Source &value)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
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)
ПараметрОписание
ИсточникТип источника.
РезультатТип результата.
ПараметрТипОписание
valueSourceObject для приведения.

ReturnValue

Результат приведения.

См. также