描述参数定义的结构。
介绍参数定义定义了一个给定类的所有对象都可用的常数值。创建类定义时(或在编译前的任何时候),可以设置其类参数的值。默认情况下,每个参数的值都是空字符串,但是可以在参数定义中指定一个非空值。在编译时,为类的所有实例建立参数值。除了极少数例外,该值不能在运行时更改。
详解参数定义具有以下结构:
/// description
Parameter name As parameter_type [ keyword_list ] = value ;
-
description
描述(可选)旨在显示在“类参考”中。默认情况下,描述为空白。 -
name
(必需)是参数的名称。这必须是有效的类成员名称,并且不能与任何其他类成员名称冲突。 -
parameter_type
(可选)指定参数的用户界面类型,由Studio用于在检查器内为参数提供输入验证。
这不是类名;参见下一节。在大多数情况下,编译器会忽略这个关键字。
如果省略参数类型,也要省略单词As
-
value
(可选)指定参数的值。如果省略值,也要省略等号= -
keyword_list
(可选)是以逗号分隔的关键字列表,用于进一步定义参数。
如果省略此列表,也要省略方括号。
参数的允许类型参数类型parameter_type
选项可以是下列值之一:
-
BOOLEAN
— true(1)或false(0)值。 -
CLASSNAME
— 有效的类名。 -
COSCODE
— ObjectScript代码。 -
COSEXPRESSION
— 有效的ObjectScript表达式。
如果参数是COSEXPRESSION
类型,则在运行时计算该表达式。
与形参Type
关键字的大多数其他值不同,这个值影响编译器。
-
COSIDENTIFIER
— 有效的ObjectScript标识符。 -
INTEGER
— 整数值。 -
SQL
— SQL语句 -
SQLIDENTIFIER
— 有效的SQL标识符。 -
STRING
—字符串值。 -
TEXT
— 多行文本值。 -
CONFIGVALUE
-可以在类定义之外修改的参数。
与形参Type
关键字的大多数其他值不同,这个值影响编译器。
如果参数的类型是CONFIGVALUE
,那么可以通过$SYSTEM.OBJ.UpdateConfigParam()
修改参数。
例如,下面的代码更改了参数MYPARM
(在类MyApp
中)的值。MyClass
的新值为42
:
set sc=$system.OBJ.UpdateConfigParam("MyApp.MyClass","MYPARM",42)
注意,$SYSTEM.OBJ.UpdateConfigParam()
影响任何新进程所使用的生成的类描述符,但不影响类定义。
如果重新编译类,InterSystems IRIS将重新生成类描述符,该描述符现在将使用包含在类定义中的这个参数的值(从而覆盖通过$SYSTEM.OBJ.UpdateConfigParam()
所做的更改)。
也可以省略parameter_type
,在这种情况下Inspector
将允许参数的任何值。
/// web服务的名称。
Parameter SERVICENAME = "SOAPDemo" ;