点击或拖拽改变大小

Functions.CheckInstanceOf 方法

X#
确定对象是否为特定类的实例。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION CheckInstanceOf(
	oObject AS Object,
	symClassName AS STRING
) AS LOGIC
查看代码

参数

oObject
类型:Object
要检查的对象。
symClassName
类型:String
oObject 可能是其实例的类。

返回值

类型:Boolean
如果 oObjectsymClassName 的实例,则返回 TRUE;否则,将生成一个错误。如果选择忽略错误,则返回 FALSE。 如果 oObject 是 NULL_OBJECT,则返回 FALSE,但不生成错误。
备注
继承类的实例也是原始(超)类的实例。然而,超类的实例不是其任何继承类的实例。 CheckInstanceOf() 类似于 IsInstanceOf(),但如果指定的对象不是指定类的实例,它还会生成一个错误消息。
示例
这些示例说明了 CheckInstanceOf() 在继承类上的使用:
X#
 1CLASS Person
 2    EXPORT name, sign
 3CONSTRUCTOR(tName, tSign)
 4    name := tName
 5    sign := tSign
 6END CLASS
 7CLASS Male INHERIT Person
 8    EXPORT prefers
 9END CLASS
10FUNCTION CheckArgument()
11    LOCAL x, y AS OBJECT
12    x := Person{"小明", "总裁"}
13    y := Male{"小张", "副总"}
14    ? CheckInstanceOf(x, #Person)        // TRUE
15    ? CheckInstanceOf(x, #Male)        // FALSE
16    ? CheckInstanceOf(y, #Person)        // TRUE
17    ? CheckInstanceOf(y, #Male)        // TRUE
参见