方法关键字WebMethod,参数关键字Abstract,Constraint,Deprecated
第八十五章 方法关键字 - WebMethod
指定此方法是否为web method。仅适用于定义为web service或web客户端的类。
用法
要指定此方法是web方法,请使用以下语法:
Method name(formal_spec) As returnclass [ WebMethod ]
{ //implementation }
否则,省略此关键字或将单词Not放在关键字的前面。
详解
此关键字指定此方法作为web方法可用,并且可以通过SOAP协议调用。
重要:在大多数情况下,web方法应该是实例方法,而不是类方法。
默认
如果省略此关键字,则该方法不能作为web method使用。
生成的类
当将此关键字添加到方法并编译类时,类编译器将生成一个额外的类:Package.OriginalClass.MethodName。Package.OriginalClass是包含web方法的类,MethodName是web方法的名称。
例如,从类ROBJDemo.DocLiteralWS开始。然后添加一个名为add的方法。当将WebMethod关键字添加到该方法并进行编译时,类编译器将生成类ROBJDemo.DocLiteralWS.Add。
不要修改或直接使用这个生成的类; 仅供内部使用。
WSDL的关系
对于web服务,该关键字还会影响生成的WSDL,后者现在包含表示此web方法所需的附加元素。
第八十六章 参数关键字 - Abstract
指定是否为抽象参数。
用法
要指定该参数是抽象的,请使用以下语法:
Parameter name As parameter_type [ Abstract ] = value ;
否则,忽略该关键字或将Not放在该关键字之前。
详解
抽象参数的行为就像没有定义一样。但是,用户可以为文档目的定义抽象参数,并强制在子类中定义此参数的签名。
默认
如果省略此关键字,则参数不是抽象的。
第八十七章 参数关键字 - Constraint
在Studio中指定此参数的用户接口约束。
用法
要为此参数指定用户接口约束,请使用以下语法:
Parameter name As parameter_type [ Constraint = "constraint" ] = value ;
其中constraint是Studio使用的字符串。
详解
Studio Inspector使用约束值为参数提供输入验证。 它的值不会被类编译器使用或强制使用。
这个关键字与Flags关键字一起工作。
例如,如果Flags被设置为ENUM,那么Constraint应该是一个用逗号分隔的可能参数值列表。
Parameter MYPARM [ Constraint = "X,Y,Z", Flags = ENUM ] = "X";
第八十八章 参数关键字 - Deprecated
指定此参数已弃用。 这个关键字会被类编译器忽略,它仅仅提供了一个可读的指示参数已弃用的指示符。
用法
要指定该参数已弃用,请使用以下语法:
Parameter name As parameter_type [ Deprecated ] = value;
否则,忽略该关键字或将Not放在该关键字之前。