2016-03-18 3 views
0

Я хотел бы знать, что вы, ребята, сделали бы в этой ситуации.Класс и экземпляр класса VB.net - наиболее эффективный метод

Я в основном возвращаю набор данных для Лица, но я хотел бы знать наиболее эффективный способ делать что-то.

Public Class TestClass 
    Public Shared Function returnPersonData() As Person 
     Dim p As New Person 
     p.Address = "Here and there" 
     p.Name = "Mike" 
     p.Career = "Pilot" 
     Return p 
    End Function 
End Class 

Person класс:

Public Class Person 
    Public Property Name As String 
    Public Property Address As String 
    Public Property Career As String 
End Class 

Я бы тогда получить имя, делая это в другом классе:

Dim name As String = TestClass.returnPersonData.Name 
Dim address As String = TestClass.returnPersonData.Address 

Мой вопрос заключается в следующем: почему он повторно запустить returnPersonData функция каждый раз, когда мне нужно извлечь информацию о названии, адресе и карьере? Почему я не могу просто вызвать функцию один раз, сохранить ее в наборе данных, а затем просто ссылаться на это?

ответ

5

Потому что вы вызываете его дважды ...

Dim name As String = TestClass.returnPersonData.Name ' <--- One time here 
Dim address As String = TestClass.returnPersonData.Address ' <--- An other time here 

Сохранить экземпляр класса людей

Dim currentPerson As Person = TestClass.returnPersonData 

Тогда вы можете получить имя или адрес с

Dim name As String = currentPerson.Name 
Dim address As String = currentPerson.Address 

Вы могли бы удалите эти две переменные и просто используйте currentPerson все время.

+1

Думаю, что у меня затуманился мозг во время этого - не могу поверить, что я этого не делал. Ура! – levis84