以前,在写程序时,如果希望通过一个方法获得多个值,经常会将需要获得的值以多个相连的字符串值进行返回。这种方式很呆板,也不符合程序设计的要求。现在才发现,如果需要通过一个函数,来获得多个值或对象时,就需要利用引用类型参数,通过传递需要获得的值变量或对象,作为引用类型参数,代入到计算函数中,即可一次性获得多个变量或对象值。

     以下面程序为例:

代码

''' <summary>
    
''' 从序列化文件中读取对象(反序列化)
    
''' </summary>
    
''' <param name="pObject">对象</param>
    
''' <param name="pFilePath">文件名全路径(形如:“C:\file.blb”)</param>
    
''' <remarks></remarks>
    Shared Function ReadAEObject(ByVal pFilePath As StringByRef pObject As ObjectAs Boolean
        
If Not TypeOf pObject Is IPersistStream Then
            MessageBox.Show(
"该对象不支持序列化!""提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            
Return False
            
Exit Function
        
End If
        
If Not System.IO.File.Exists(pFilePath) Then
            MessageBox.Show(
"序列化文件不存在!""提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            
Return False
            
Exit Function
        
End If
        
Dim pMemoryBlobStream As IMemoryBlobStream = New MemoryBlobStream
        pMemoryBlobStream.LoadFromFile(pFilePath)
        
Dim pObjectStream As IObjectStream = New ObjectStream
        pObjectStream.Stream 
= pMemoryBlobStream
        
Dim pPersistStream As IPersistStream = pObject
        pPersistStream.Load(pObjectStream)
        
Return True
    
End Function

 

   从代码中,我们看到,这个函数不仅返回boolean类型值,而且通过传递了一个object类型对象作为引用类型参数,调用该函数后,该变量即获得了值。