Возвращаемое свойство
Я хочу получить несколько значений из свойства только для чтения. Ниже приведен мой код
Public Class Class1
ReadOnly Property Ca As New Class2
End Class
Public Class Class2
ReadOnly Property getass(q As Integer, ww As String) As Integer
Get
Codes that return q And ww
End Get
End Property
End Class
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a As New Class1
Dim ret As Integer
Dim qq As Integer = Nothing
Dim qqq As String = Nothing
ret = a.Ca.getass(qq, qqq)
End Sub
End Class
Я хочу, наконец, получить qq=q и qqq=ww... спасибо
1 ответ
Вы не хотите использовать недвижимость для этой цели.
Вместо этого просто объявите Sub, который изменяет переданные параметры следующим образом:
Public Class Class2
Sub getass(ByRef q As Integer, ByRef ww As String)
Dim _q as Integer
Dim _w as String
'do whatever you want
'then assign the final values and end sub
q = _q
ww = _ww
End Sub
End Class
Затем используйте подпрограмму следующим образом:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a As New Class1
Dim qq As Integer = Nothing
Dim qqq As String = Nothing
a.Ca.getass(qq, qqq)
'At this point your local qq and qqq will have the value setted by the getass Sub
End Sub
End Class
Пожалуйста, учтите, что это не очень хороший шаблон для вашего окончательного намерения иметь студенческий билет и имя.
Подумайте о создании класса "Student" со всеми необходимыми свойствами и сделайте так, чтобы Class2 (я могу предположить, что это классная комната или что-то в этом роде) возвращал объект "Student".
Или вы можете использовать структуру KeyValuePair
РЕДАКТИРОВАТЬ: Если вы все еще хотите сделать это через интерфейс, попробуйте это:
Public Class Class2
Public ReadOnly Property getass(ByRef q As Integer, ByRef ww As String) as Integer
Get
Dim _q as Integer
Dim _w as String
'do whatever you want
'then assign the final values and end sub
q = _q
ww = _ww
return ID 'ID is what you want (Integer)
End Get
End Property
End Class