Show/Hide Toolbars

XSharp

注意此命令在 Core 和 Vulcan 方言中不可用。

用途

创建私有变量,接收传递的值或引用。

语法

PARAMETERS <idParameterList>
PARAMETERS <Parameter1> [ AS <Type> [ OF <ClassLibrary> ] ] [, <Parameter2> [ AS <Type> [ OF <ClassLibrary> ] ] ] // 仅用于 FoxPro 方言

 

参数

<idParameterList>一个或多个参数变量,用逗号分隔。这些变量用于接收调用例程时传递的参数。这些变量将是动态内存变量

 

<Type> & <ClassLibrary>编译器可以识别 FoxPro 方言中的 AS <Type> 和 AS <Type> of <Classlibrary> 子句。

描述

当 PARAMETERS 语句执行时,参数列表中的所有变量都会被创建为私有变量,所有同名的公有或私有变量都会被隐藏,直到当前过程或函数结束。PARAMETERS 语句是一条可执行语句,因此可以出现在过程或函数的任何位置。

如果参数作为过程或函数声明语句的一部分,也可以声明为局部变量(见示例)。以这种方式指定的参数称为形参(形式参数)。需要注意的是,在过程或函数定义中不能同时指定形参和 PARAMETERS 语句。

否则会导致编译器出错。

接收变量的数量不必与调用例程传递的参数数量一致。如果指定的参数多于参数,多余的参数将被忽略。如果指定的参数少于参数,多余的参数将以 NIL 值创建。如果跳过一个参数,相应的参数将被初始化为 NIL。

PCount() 函数返回参数列表中最后一个参数的位置。这与传递的参数数量不同,因为它包括跳过的参数。

示例

该函数接收通过 PARAMETERS 语句传递给私有参数的值:

FUNCTION MyFunc()
PARAMETERS cOne, cTwo, cThree
? cOne, cTwo, cThree

下一个示例与此类似,但通过在 FUNCTION 声明中声明参数变量,接收传入局部变量的值:

FUNCTION MyFunc(cOne, cTwo, cThree)
? cOne, cTwo, cThree

参见

LPARAMETERS, PRIVATE