点击或拖拽改变大小

Functions.IsMethodClass 方法

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

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

参数

symClass
类型:String
类名的符号。
symMethod
类型:String
方法名称,不带括号。

返回值

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