【问题标题】:class modules in asp.net file system websiteasp.net 文件系统网站中的类模块
【发布时间】:2012-09-01 16:25:52
【问题描述】:

我的 App_code 文件夹中有一个类模块。

Private _connection As MySqlConnection
Private _connStr As String

Public Function Connect(dbName As String) As Boolean
    Try
        _connStr = "Database=" & dbName & ";" & _
                "Data Source=192.16.0.1;" & _
                "User Id=user;Password=pass"
        _connection = New MySqlConnection(_connStr)
        _connection.Open()
        _connection.Close()
        Return True
    Catch ex As Exception
        _connection = Nothing
        Return False
    End Try
    Return False
End Function

我通常在网络表单应用程序中编程。为什么我不能从页面后面的 aspx 代码访问此功能?我为该类添加了导入语句。如果我让那个函数共享,我就不能拥有那些私有变量。

我像这样在我的 aspx 中调用该函数;

If Connect(dbName) then....

这给我一个错误“非共享成员需要对象引用”

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您需要在方法签名中添加关键字“Shared”,如下所示:

    Private Shared _connection As MySqlConnection
    Private Shared _connStr As String
    Public Shared Function Connect(dbName As String) As Boolean
    

    这是因为否则你有实例类成员,而不是静态成员。编译器错误消息是不言自明的。

    【讨论】:

      【解决方案2】:

      如果你看看这个例子是有效的:

         Public Shared Function example123(ByVal USER As Integer, ByVal Section As String,   ByVal ACTION As String) As Boolean
      

      你分配一个函数shared,这样你就可以从课堂外看到它

      我希望你工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        • 1970-01-01
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多