reflect.Type.isAssignableFrom
Checks if this type can be assigned from another type.
Syntax
isAssignableFrom(
x reflect.Type )
RETURNS BOOLEAN
- x is the type object to be checked.
Usage
The reflect.Type.isAssignableFrom()
method returns TRUE
, when
the values of the type definition passed as parameter can be assigned to values of the type
represented by this current reflect.Type
object. If the provided type does not
match this type, the method returns FALSE
.
Example
IMPORT reflect
TYPE t1 RECORD
pkey INTEGER,
name VARCHAR(30)
END RECORD
TYPE t2 RECORD
pkey INTEGER,
name VARCHAR(30)
END RECORD
TYPE t3 RECORD
pkey INTEGER,
name VARCHAR(50),
addr VARCHAR(100)
END RECORD
MAIN
DEFINE rt1 reflect.Type
DEFINE rt2 reflect.Type
DEFINE rt3 reflect.Type
DEFINE v1 t1
DEFINE v2 t2
DEFINE v3 t3
LET rt1 = reflect.Type.typeOf(v1)
LET rt2 = reflect.Type.typeOf(v2)
LET rt3 = reflect.Type.typeOf(v3)
DISPLAY "assignable A : ", rt1.isAssignableFrom(rt1)
DISPLAY "assignable B : ", rt1.isAssignableFrom(rt2)
DISPLAY "assignable C : ", rt1.isAssignableFrom(rt3)
END MAIN
Shows:
assignable A : 1
assignable B : 1
assignable C : 0