Класс System::ObjectExt

ObjectExt class

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

class ObjectExt : public System::ObjectType

Методы

МетодОписание
static ArrayInitializerCast(From …)Преобразует фундаментальные значения массивов (что C# делает неявно, а C++ очевидно не делает).
static Box(const T&)Упаковывает типы-значения для преобразования в Object. Реализация для enum-типов.
static Box(const T&)Упаковывает типы-значения для преобразования в Object. Реализация для не-enum типов.
static Box(const T&)Упаковывает типы Nullable для преобразования в Object.
static Box(const String&)Упаковывает строковые значения.
static BoxEnum(T)Упаковывает enum-типы для передачи в виде Object.
static CastToIList(const SmartPtr<Object>&)
static Coalesce(T0, T1)Реализация трансляции оператора ‘??’ для типов, не допускающих null.
static Coalesce(System::Nullable<T0>, T1)Реализация трансляции оператора ‘??’ для nullable типов.
static CoalesceAssign(T0&, T1)Реализация перевода оператора ‘??=’.
static CoalesceInternal(RT1, F)Реализация перевода оператора ‘??’ для типов, не допускающих null. Перегрузка для случая, когда 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’. Специализация для упаковываемых (значимых) типов, что именно они и есть.
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 в неизвестный тип, обрабатывая как тип умного указателя, так и ситуации с bpxed‑значением.
static ObjectToUnknown(SmartPtr<Object>)Преобразует Object в неизвестный тип, обрабатывая как тип умного указателя, так и ситуации с упакованным значением.
static ToString(const char_t *)Замена метода C# ToString для работы с любым типом C++.
static ToString(const Nullable<T>&)Замена метода C# ToString для работы с любым типом C++.
static ToString(const T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(const T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(T&&)Замена метода C# ToString для работы с любым типом C++.
static ToString(T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(const T&)Замена метода C# ToString для работы с любым типом C++.
static ToString(T&&)Замена метода C# ToString для работы с любым типом C++.
static Unbox(const SmartPtr<Object>&)Разупаковывает типы-значения после преобразования в Object. Реализация для перечислений.
static Unbox(const SmartPtr<Object>&)Разупаковывает типы-значения после преобразования в Object. Реализация для не‑перечислений и типов, не допускающих null.
static Unbox(const SmartPtr<Object>&)Разупаковывает типы-значения после преобразования в Object. Реализация для не‑перечислений и типов, не допускающих null.
static Unbox(E)Разупаковывает типы перечислений в целое число.
static Unbox(E)Преобразует типы перечислений.
static Unbox(const SmartPtr<Object>&)Разупаковывает строковые значения.
static UnboxStringSafe(const SmartPtr<Object>&)Разупаковывает строку из упакованного значения.
static UnboxToNullable(const SmartPtr<Object>&, bool)Разупаковывает объект в тип, допускающий null.
static UnknownIsNull(T)Проверяет, является ли объект неизвестного типа nullptr. Перегрузка для не‑скалярных типов.
static UnknownIsNull(T)Проверяет, является ли объект неизвестного типа nullptr. Перегрузка для скалярных типов.
static UnknownToObject(T)Преобразует неизвестный тип в Object, обрабатывая как типы умных указателей, так и типы значений.
static UnknownToObject(const T&)Преобразует неизвестный тип в Object, обрабатывая как типы умных указателей, так и типы значений.

См. также