幫我把圖片藍色背景代碼轉換成vb.net代碼,謝謝
uj5u.com熱心網友回復:
那個家伙是個行內函式的寫法,很多這么寫的,用java的時候我也喜歡這么寫…有了提示…自己搞吧。uj5u.com熱心網友回復:
vb.net 跟 c# 基本上完全一樣,在 function 關鍵字前撰寫 async,在內部的執行命令陳述句最前邊寫 await。uj5u.com熱心網友回復:
我不寫 vb.net 代碼,為了你這個問題我打開 vb 摸索著寫了一個demo。實際上只要你有最基本的 vb.net 和 c# 概念以及一定厚度的編程經驗,摸索著很快就能熟悉另外一個“語言”。因為在 .net 中各種語言只是體驗的差別,原理是完全一樣的,都是基于 .net framework 框架的統一嚴謹的思想的。Module Module1
Sub Main()
Dim a As New A
Dim b As New B
AddHandler a.TestE, AddressOf b.ee
a.go("觸發事件啦")
Console.WriteLine("主程式執行完畢。按任意鍵結束.......")
Console.ReadKey()
End Sub
End Module
Class A
Public Event TestE(sender As Object, e As EventArgs, haha As String)
Sub go(msg As String)
RaiseEvent TestE(Me, Nothing, msg)
End Sub
End Class
Class B
Public Async Sub ee(sender As Object, e As EventArgs, haha As String)
Await Task.Yield
Console.WriteLine("事件執行____{0}", haha)
End Sub
End Class
這里我宣告了一個自定義事件,并且在另外一個代碼段(另外一個 Class)中來提供處理事件的代碼。我將處理程序由同步改為異步執行,不過就是加上了 async 和 await 這兩個東西。去掉它們你就能看到同步跟異步的區別。異步的時候,你會看到主執行緒先走到“按任意鍵結束”這個提示的地方,主執行緒的執行并不會收到事件處理程序的半點阻塞,并發運行。
uj5u.com熱心網友回復:
使用匿名委托,vb能夠完全支持匿名委托、lamda、linq等等。關鍵是許多 vb程式員好像還是在20幾年前的vb知識,沒學過最近15年的 vb.net 一樣,這個比較可惜。但是只要你對 .net “有點信心”就應該相信,vb.net 其實跟 c# 的能力幾乎是一樣的。Module Module1
Sub Main()
Dim a As New A
AddHandler a.TestE, Async Sub(s As Object, e As EventArgs, haha As String)
Await Task.Yield
Console.WriteLine("再來,事件執行____{0}", haha)
End Sub
a.go("觸發事件啦")
Console.WriteLine("主程式執行完畢。按任意鍵結束.......")
Console.ReadKey()
End Sub
End Module
Class A
Public Event TestE(sender As Object, e As EventArgs, haha As String)
Sub go(msg As String)
RaiseEvent TestE(Me, Nothing, msg)
End Sub
End Class
uj5u.com熱心網友回復:
我不會VB.NET 但是我有一個方法..把你的cs寫到exe或者dll中.. 然后編譯出來之后 用ilspy打開.. 選VB.... 就能看到VB的原始碼了 哈哈哈 我真是一個小聰明.
uj5u.com熱心網友回復:
async和lambda,vb也是支持的。但是你給出文本代碼啊,難道回答你問題我還要自帶打字輸入服務?
uj5u.com熱心網友回復:
謝謝大家,已經搞定了uj5u.com熱心網友回復:
謝謝,明白了
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/29715.html
標籤:VB.NET
上一篇:各路大神,有沒有更好的建議去每5條資料開一條執行緒更新資料?
下一篇:求助,c#題目求解答
