簡體   English   中英

如何從私人共享子vb.net調用公共子

[英]how to call public sub from private shared sub vb.net

這是用於將數據寫入同一文件的多線程

Dim _readWriteLock As ReaderWriterLockSlim = New ReaderWriterLockSlim

    Private Sub writedatatofile(ByVal s As String)
        ' Set Status to Locked

        _readWriteLock.EnterWriteLock()
        Try
            ' Append text to the file
            Dim sw As StreamWriter = File.AppendText("textfile.txt")
            sw.WriteLine(s)
            sw.Close()
        Finally
            ' Release lock
            _readWriteLock.ExitWriteLock()
        End Try
    End Sub

這是為了獲得異步響應

Private Shared Sub GetResponseCallback(ByVal asynchronousResult As IAsyncResult)
      Dim response As HttpWebResponse = CType(request.EndGetResponse(asynchronousResult),  _
       HttpWebResponse)

writedatatofile(Response.Headers.Tostring)

End Sub

我從GetresponseCallback調用writedatatofile時遇到此錯誤:如果沒有該類的顯式實例,則無法從共享方法或共享成員初始化器中引用該類的實例成員

如何從異步響應將安全性多線程寫入同一文本文件?

您不能從共享(靜態)方法中調用實例方法。 您基本上是說:“我想從不關心對象實例的方法中調用對對象的特定實例進行操作的方法”-那么Shared方法將如何做到這一點?

您需要將GetResponseCallback更改為實例(已刪除Shared修飾符)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM