点击或拖拽改变大小

Functions.IsInstanceOf 方法

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

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

参数

oObject
类型:Object
要检查的对象。
symClassName
类型:String
要检查的类的符号。

返回值

类型:Boolean
如果 oObjectsymClassName 的实例,则返回 TRUE;否则返回 FALSE。
备注
继承类的实例也是原始(超)类的实例。然而,超类的实例不是其任何继承类的实例。 IsInstanceOf() 类似于 CheckInstanceOf(),但如果指定的对象不是指定类的实例,它不会生成错误消息。
示例
这些示例说明了 IsInstanceOf() 在继承类上的用法:
X#
 1CLASS Employee
 2    EXPORT name, age
 3CONSTRUCTOR(tName, tAge)
 4    name := tName
 5    age := tAge
 6END CLASS
 7CLASS Programmer INHERIT Employee
 8END CLASS
 9CLASS Assembler INHERIT Programmer
10END CLASS
11FUNCTION CheckArgument()
12    LOCAL x, y AS OBJECT
13    x := Employee{"John", "25"}
14    y := Assembler{"Bill", "30"}
15    ? IsInstanceOf(x, #Employee)        // TRUE
16    ? IsInstanceOf(x, #Programmer)        // FALSE
17    ? IsInstanceOf(x, #Assembler)        // FALSE
18    ? IsInstanceOf(y, #Employee)        // TRUE
19    ? IsInstanceOf(y, #Programmer)        // TRUE
20    ? IsInstanceOf(y, #Assembler)        // TRUE
参见