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)实现对非可空类型的 ‘??’ 运算符翻译。
static Coalesce(System::Nullable<T0>, T1)实现对可空类型的 ‘??’ 运算符翻译。
static CoalesceAssign(T0&, T1)实现对 ‘??=’ 运算符的翻译。
static CoalesceInternal(RT1, F)实现对非可空类型的 ‘??’ 运算符翻译。重载用于 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’ 运算符的翻译。针对可空类型的特化。
static Is(const SmartPtr<Object>&)实现 ‘is’ 运算符的翻译。针对已定义 == 运算符的可装箱类型的特化。
static Is(const SmartPtr<Object>&)实现 ‘is’ 运算符的翻译。针对未定义 == 运算符的可装箱类型的特化。
static Is(const SmartPtr<V>&)实现 ‘is’ 运算符的翻译。针对值类型装箱为接口的特化。
static Is(const SmartPtr<U>&)实现 ‘is’ 运算符的翻译。针对枚举类型的特化。
static Is(const WeakPtr<U>&)实现 ‘is’ 运算符的翻译。针对枚举类型与弱指针的特化。
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 *)为 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 后解箱值类型。针对非枚举且非可空类型的实现。
static Unbox(const SmartPtr<Object>&)在转换为 Object 后解箱值类型。针对非枚举且非可空类型的实现。
static Unbox(E)将枚举类型解箱为整数。
static Unbox(E)转换枚举类型。
static Unbox(const SmartPtr<Object>&)解箱字符串值。
static UnboxStringSafe(const SmartPtr<Object>&)从装箱值中解箱字符串。
static UnboxToNullable(const SmartPtr<Object>&, bool)将对象解箱为可空类型。
static UnknownIsNull(T)检查未知类型对象是否为 nullptr。针对非标量类型的重载。
static UnknownIsNull(T)检查未知类型对象是否为 nullptr。针对标量类型的重载。
static UnknownToObject(T)将未知类型转换为 Object,处理智能指针类型和数值类型两种情况。
static UnknownToObject(const T&)将未知类型转换为 Object,处理智能指针类型和数值类型两种情况。

另见