我在asp中创建了一个类,想知道是否可以创建一个名为“END”的函数或子函数。即使作为子或函数,这是否可行。我想为我的类实例或像MyClass.End这样的类模块调用它的原因是然后调用response.end?
或者是否可以覆盖response.end函数以在结束前首先检查某些内容?
class Myclass
sub write(dim str)
response.write(str)
end write
' Is this "END" possible?
sub end
response.end
end sub
End class
答案 0 :(得分:5)
的 校正 强>
这不是一个有效的子程序声明:sub write(dim str)
Dim 语句不能用于声明参数。您应该使用 ByRef 或 ByVal 。如果未指定,则默认为ByRef
end write
应为end sub
请参阅MSDN中的说明:Sub Statement
的 招 强>
当您需要在类中使用保留关键字作为属性或方法名称时,可以使用括号声明它。然后你可以不带括号打电话。
这里的例子是:
Class Myclass
Sub Write(str)
Response.Write str
End Sub
Sub [End] 'with brackets
Response.End
End Sub
End Class
Set o = New Myclass
o.write "what's up?"
o.end 'without brackets
Response.Write "..." 'this will not be printed
答案 1 :(得分:1)
end
是vbscript的保留字(经典ASP基于什么)所以没有。这是保留字词列表... http://support.microsoft.com/kb/216528