VB.net类和函数实例 - 最有效的方法

lev*_*s84 0 vb.net class function instantiation

我想知道你们在这种情况下会做些什么.

我基本上是为Person返回一个数据集,但我想知道最有效的做事方式.

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

人员类:

Public Class Person
    Public Property Name As String
    Public Property Address As String
    Public Property Career As String
End Class
Run Code Online (Sandbox Code Playgroud)

然后我会在另一个类中执行此操作来获取名称:

Dim name As String = TestClass.returnPersonData.Name
Dim address As String = TestClass.returnPersonData.Address
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么returnPersonData每次我需要提取信息的名称,地址和职业时它重新运行该功能?为什么我不能只调用一次该函数,将其保存在数据集中,然后只是引用它?

the*_*tus 5

因为你两次打电话......

Dim name As String = TestClass.returnPersonData.Name ' <--- One time here
Dim address As String = TestClass.returnPersonData.Address ' <--- An other time here
Run Code Online (Sandbox Code Playgroud)

保存person类实例

Dim currentPerson As Person = TestClass.returnPersonData
Run Code Online (Sandbox Code Playgroud)

然后你可以得到名字或地址

Dim name As String = currentPerson.Name
Dim address As String = currentPerson.Address
Run Code Online (Sandbox Code Playgroud)

你可以删除这两个变量,只是一直使用currentPerson.