点击或拖拽改变大小

Functions.IsMethod 方法

X#
检查特定方法是否可以发送到对象。

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

参数

oObject
类型:Object
一个对象。
symMethod
类型:String
方法名称,不带括号。

返回值

类型:Boolean
如果指定的方法在指定对象的类中定义,则返回 TRUE;否则返回 FALSE。
备注
示例
此示例使用 IsMethod() 检查对象是否能够发出声音:
X#
 1CLASS Animal
 2    EXPORT sound, weight
 3CONSTRUCTOR(s, w)
 4    sound := s
 5    weight := w
 6METHOD Speaks CLASS
 7    QOut(sound)
 8END CLASS
 9
10CLASS Programmer
11    EXPORT language
12CONSTRUCTOR(lang)
13    language := lang
14METHOD Speaks
15    QOut(language)
16    QOut("Hello World")
17    QOut(Chr(7))
18END CLASS
19Function Start()
20    LOCAL dog AS Animal
21    LOCAL hacker AS Programmer
22    dog := Animal{"Bark Bark!", 50}
23    hacker := Programmer{"VO"}
24    IF IsMethod(dog, #Speaks)
25        dog:Speaks()    // 说:Bark Bark
26    ENDIF
27    IF IsMethod(hacker, #Speaks)
28                        // 说:VO,Hello World,响起铃声
29        hacker:Speaks()    
30    ENDIF
参见