System::ObjectExt класс

ObjectExt class

Предоставляет статические методы, имитирующие методы C# Object, вызываемые для не-Object типов C++ (строки, числа и т.д.). Это статический тип без сервисов экземпляра. Вы никогда не должны создавать его экземпляры каким-либо способом.

class ObjectExt : public System::ObjectType

Методы

МетодОписание
static ArrayInitializerCast(From …)Преобразует фундаментальные значения массивов (что C# делает неявно, а C++ очевидно не делает).
static Box(const T&)Упаковывает типы‑значения для преобразования в Object. Реализация для перечислимых типов.
static Box(const T&)Упаковывает типы‑значения для преобразования в Object. Реализация для не‑перечислимых типов.
static Box(const T&)Упаковывает типы Nullable для преобразования в Object.
static Box(const String&)Упаковывает строковые значения.
static BoxEnum(T)Упаковывает перечислимые типы для распространения как Object.
static CastToIList(const SmartPtr<Object>&)
static Coalesce(T0, T1)Реализация трансляции оператора ‘??’ для не‑nullable типов.
static Coalesce(System::Nullable<T0>, T1)Реализация трансляции оператора ‘??’ для nullable типов.
static CoalesceInternal(RT1, F)Реализация трансляции оператора ‘??’ для не‑nullable типов. Перегрузка для случая, когда RT2 преобразуем к RT1.
static Equals(const T&, const T2&)
static Equals(const T&, const T2&)Подстановка для вызовов C# Object.Equals, работающих с любым типом в C++. Перегрузка для типов умных указателей.
static Equals(T, const T2&)Подстановка для вызовов C# Object.Equals, работающих с любым типом в C++. Перегрузка для структурных типов.
static Equals(const T&, const T2&)Подстановка для вызовов C# Object.Equals, работающих с любым типом в C++. Перегрузка для скалярных типов.
static Equals(const char_t(&), String)Подстановка для вызовов C# Object.Equals, работающих с любым типом в C++. Перегрузка для строковых литералов со сравнением строк.
static Equals(const float&, const float&)Эмулирует сравнение чисел с плавающей точкой в стиле C#, где два NaN считаются равными, хотя согласно IEC 60559:1989 NaN не равен ни одному значению, включая NaN.
static Equals(const double&, const double&)Эмулирует сравнение чисел с плавающей точкой в стиле C#, где два NaN считаются равными, хотя согласно IEC 60559:1989 NaN не равен ни одному значению, включая NaN.
static ExplicitCastToObject(const T&)
static ExplicitCastToObject(const T&)
static GetHashCode(const T&)Реализует вызовы GetHashCode(); работает как с подклассами Object, так и с несвязанными типами.
static Is(const T&)Реализует трансляцию оператора ‘is’. Специализация для упаковываемых (value) типов, которые именно таковыми являются.
static Is(const U&)Реализует трансляцию оператора ‘is’. Специализация для указательных типов, оптимизированных для ‘final’ классов.
static Is(const U&)Реализует трансляцию оператора ‘is’. Специализация для указательных типов.
static Is(const Object&)Реализует трансляцию оператора ‘is’. Специализация для значимых типов.
static Is(const Object&)Реализует перевод оператора ‘is’. Специализация для неконвертируемых типов.
static Is(const SmartPtr<U>&)Реализует трансляцию оператора ‘is’. Специализация для указательных типов.
static Is(const ExceptionWrapper<U>&)Реализует перевод оператора ‘is’. Специализация для типов-оберток исключений.
static Is(const SmartPtr<Object>&)Реализует перевод оператора ‘is’. Специализация для nullable‑типов.
static Is(const SmartPtr<Object>&)Реализует перевод оператора ‘is’. Специализация для упаковываемых типов с определённым оператором ==.
static Is(const SmartPtr<Object>&)Реализует перевод оператора ‘is’. Специализация для упаковываемых типов без определённого ==.
static Is(const SmartPtr<V>&)Реализует перевод оператора ‘is’. Специализация значимых типов, упакованных в интерфейсы.
static Is(const SmartPtr<U>&)Реализует перевод оператора ‘is’. Специализация для enum‑типов.
static Is(const WeakPtr<U>&)Реализует перевод оператора ‘is’. Специализация для enum‑типов против слабых указателей.
static Is(const Nullable<U>&)Реализует перевод оператора ‘is’. Специализация для типа Nullable.
static Is(const char16_t *)Реализует перевод оператора ‘is’. Специализация для строкового литерала.
static Is(int32_t)Реализует перевод оператора ‘is’. Специализация для целочисленного литерала.
static IsBoxedValue(const SmartPtr<Object>&)Проверяет, является ли объект упакованным значением.
static ObjectToUnknown(SmartPtr<Object>)Преобразует Object в неизвестный тип, обрабатывая как тип умного указателя, так и упакованное значение.
static ObjectToUnknown(SmartPtr<Object>)Преобразует Object в неизвестный тип, обрабатывая как тип умного указателя, так и упакованное значение.
static ToString(const char_t *)Замена метода ToString из C# для работы с любым типом C++.
static ToString(const Nullable<T>&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(const T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(const T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(T&&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(const T&)Замена метода ToString из C# для работы с любым типом C++.
static ToString(T&&)Замена метода ToString из C# для работы с любым типом C++.
static Unbox(const SmartPtr<Object>&)Разупаковывает значимые типы после преобразования в Object. Реализация для enum‑типов.
static Unbox(const SmartPtr<Object>&)Разупаковывает значимые типы после преобразования в Object. Реализация для типов, не являющихся enum и не nullable.
static Unbox(const SmartPtr<Object>&)Разупаковывает значимые типы после преобразования в Object. Реализация для типов, не являющихся enum и не nullable.
static Unbox(E)Разупаковывает enum‑типы в целое число.
static Unbox(E)Преобразует enum‑типы.
static Unbox(const SmartPtr<Object>&)Разупаковывает строковые значения.
static UnboxStringSafe(const SmartPtr<Object>&)Разупаковывает строку из упакованного значения.
static UnboxToNullable(const SmartPtr<Object>&, bool)Разупаковывает объект в nullable‑тип.
static UnknownIsNull(T)Проверяет, является ли объект неизвестного типа nullptr. Перегрузка для нескалярных типов.
static UnknownIsNull(T)Проверяет, является ли объект неизвестного типа nullptr. Перегрузка для скалярных типов.
static UnknownToObject(T)Преобразует неизвестный тип в Object, обрабатывая как тип умного указателя, так и ситуации с типом значения.
static UnknownToObject(const T&)Преобразует неизвестный тип в Object, обрабатывая как тип умного указателя, так и ситуации с типом значения.

См. также