none
兩個函數同樣名稱存在的問題 RRS feed

  • 問題

  • 各位老師好

    小弟問的這問題可能很蠢

    因為可能是小弟沒有讀到繼承或其他類似的資識

    以下的這段程式碼

    為什麼他兩個函數名稱一樣呢?

    謝謝

     

    Code Snippet

    Function ExecuteCmd(ByVal SQL As String)
            Return ExecuteCmd(SQL, Nothing)
        End Function
        '執行命令
        Function ExecuteCmd(ByVal SQL As String, ByVal parameters As SqlClient.SqlParameterCollection) As Integer
            Try
                If conn.State <> ConnectionState.Open Then conn.Open()
                Dim dc As New SqlClient.SqlCommand(SQL, conn)
                '處理參數
                If parameters IsNot Nothing Then
                    dc.Parameters.Clear()
                    For Each item As SqlClient.SqlParameter In parameters
                        dc.Parameters.AddWithValue(item.ParameterName, item.Value)
                    Next
                End If
                '執行
                Return dc.ExecuteNonQuery
            Catch ex As Exception
                MsgBox("執行命令時發生錯誤(" & SQL & ") " & vbCrLf & "錯誤訊息:" & ex.Message, MsgBoxStyle.Critical)
                Return Nothing
            End Try
        End Function

     

     

    2007年8月8日 上午 02:28

解答

  • HI,

     

    這樣的寫法在物件導向語言中是合法的, 稱為Function Name overloading

     

    tihs

     

    2007年8月8日 上午 02:38
  • 不過少了關鍵字 Overloads ...

    Public Overloads Function Fun1(xxx1)...

    Public Overloads Function Fun1(xxx2)...

     

    其中要注意 xxx1 跟 xxx2 的所有引數型別不能完全一樣,否則發生編譯錯誤。

     

    2007年8月8日 上午 08:56
    版主

所有回覆

  • HI,

     

    這樣的寫法在物件導向語言中是合法的, 稱為Function Name overloading

     

    tihs

     

    2007年8月8日 上午 02:38
  • 不過少了關鍵字 Overloads ...

    Public Overloads Function Fun1(xxx1)...

    Public Overloads Function Fun1(xxx2)...

     

    其中要注意 xxx1 跟 xxx2 的所有引數型別不能完全一樣,否則發生編譯錯誤。

     

    2007年8月8日 上午 08:56
    版主
  •  

    謝謝各為提供寶貴的知識

     

    2007年8月8日 上午 08:59