在经典的ASP中是否可以创建一个END子或函数?

时间:2012-01-16 17:17:01

标签: asp-classic vbscript

我在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

2 个答案:

答案 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