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

Ret*_*der 0 vbscript asp-classic

我在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
Run Code Online (Sandbox Code Playgroud)

Kul*_*gin 5

更正

这不是有效的子例程声明:sub write(dim str)
Dim语句不能用于声明参数.你应该使用 ByRef ByVal.如果未指定,则默认为ByRef.
而且end write应该是end sub.
请参阅MSDN中的说明:子语句

技巧

当您需要在类中使用保留关键字作为属性或方法名称时,可以使用括号声明它.然后你可以不带括号打电话.这里的例子如下:

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
Run Code Online (Sandbox Code Playgroud)