[英]Why can't I call private shared methods from a public shared method in 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.