Получение переменной Public Property из внешнего скрипта - PullRequest
2 голосов
/ 09 декабря 2011

Мне интересно, как получить Public Property из внешнего скрипта. Тестовый код приведен ниже и, похоже, отображает пустую переменную для tValue, используя этот метод.

Есть что-то, чем я здесь не занимаюсь?

'External Code
Set nObj = New Test
Response.Write(nObj.tValue)

'The Class
Class Test
    Public Test1

    Public Property Get tValue
        tValue = Test1
    End Property

    Sub Loadit
        Test1="123"
    End Sub
End Class

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Имя вашего конструктора неверно.По умолчанию имя конструктора класса в классическом ASP равно Class_Initialize.Исходя из этого, ваш код должен быть:

'External Code
Set nObj = New Test
Response.Write("tValue = " & nObj.tValue)

'The Class
Class Test
    Private Test1

    Public Property Get tValue
        tValue = Test1
    End Property

    Public Sub Class_Initialize
        Test1 = "123a"
    End Sub 
End Class

Или, если вы хотите сохранить код вашего класса как есть, вы должны изменить свой внешний код на:

'External Code
Set nObj = New Test
nObj.Loadit
Response.Write(nObj.tValue)
0 голосов
/ 09 декабря 2011

Неважно, это потому, что сначала он не вызывал Sub.

Это исправлено.

 'External Code
 Set nObj = New Test

 Call nObj.Loadit

 Response.Write(nObj.tValue)
...