none
類別的function問題 RRS feed

  • 問題

  • 我在App_Code裡新增一個CommonFunction.vb的類別檔

    程式碼如下:

    Imports Microsoft.VisualBasic

    Namespace DFDV.Data

        Public Class CommonFunction

            '轉換工程所代碼為工程所名稱
            Public Function ChgAreaIdToName(ByVal AreaId As String)

                Dim AreaName As String = ""

                If AreaId = "" Then
                    AreaName = ""
                Else
                    If AreaId = "1" Then AreaName = "第一工程所"
                    If AreaId = "2" Then AreaName = "第二工程所"
                    If AreaId = "3" Then AreaName = "第三工程所"
                    If AreaId = "4" Then AreaName = "第四工程所"
                    If AreaId = "5" Then AreaName = "第五工程所"
                    If AreaId = "6" Then AreaName = "第六工程所"
                    If AreaId = "7" Then AreaName = "第七工程所"
                End If

                Return AreaName
            End Function

        End Class

    End Namespace

    然後在另一個ChangePW.aspx.vb裡

    Imports DFDV.Data.CommonFunction

    Partial Class ChangePW
        Inherits System.Web.UI.Page

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

                    lblAreaID.Text = ChgAreaIdToName("1")

        End Sub

    End Class

    問題出在紅字的「ChgAreaIdToName」

    會有「參考非共用成員需要參考物件」的錯誤訊息

    請問達人要如何解決此問題呢?謝謝..

    2006年4月7日 上午 07:54

解答

  • Dim Func  As New DFDV.Data.CommonFunction

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

                    lblAreaID.Text = Func.ChgAreaIdToName("1")

        End Sub

    2006年4月7日 上午 08:00
    版主
  • Imports Microsoft.VisualBasic
    Namespace DFDV.Data
        Public Class CommonFunction

            '轉換工程所代碼為工程所名稱
            Public Shared Function ChgAreaIdToName(ByVal AreaId As Integer)

                Dim AreaName() As String = {"一", "二", "三", "四", "五", "六", "七"}
                If AreaId <= AreaName.Length And AreaId > 0 Then

                    Return "第" & AreaName(AreaId - 1) & "工程所"

                Else

                    Return ""

                End If

            End Function

        End Class
    End Namespace

    2006年4月7日 上午 08:30

所有回覆

  • Dim Func  As New DFDV.Data.CommonFunction

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

                    lblAreaID.Text = Func.ChgAreaIdToName("1")

        End Sub

    2006年4月7日 上午 08:00
    版主
  • Imports Microsoft.VisualBasic
    Namespace DFDV.Data
        Public Class CommonFunction

            '轉換工程所代碼為工程所名稱
            Public Shared Function ChgAreaIdToName(ByVal AreaId As Integer)

                Dim AreaName() As String = {"一", "二", "三", "四", "五", "六", "七"}
                If AreaId <= AreaName.Length And AreaId > 0 Then

                    Return "第" & AreaName(AreaId - 1) & "工程所"

                Else

                    Return ""

                End If

            End Function

        End Class
    End Namespace

    2006年4月7日 上午 08:30
  • 謝謝Johnny Fang和LOLOTA的解答
    2006年4月7日 上午 08:43