2011-03-11 93 views
2
provider.OptionsSet += delegate 
{ 
    provider.FinishedLoading(); 
}; 

回答

-2
provider.OptionsSet += Function() Do 
    provider.FinishedLoading() 
End Function 

這是從http://www.developerfusion.com/tools/convert/csharp-to-vb/拍攝,所以我沒有測試它。如果您能夠提供更多的上下文,它可能會更有幫助。這是用來做什麼的?

+1

這幾乎是進攻的轉換器如何嚴重得到它錯了。 –

+1

-1這不能編譯。漢斯發佈了正確的答案 – MarkJ

4

不錯的演示如何轉換器得到這個戲劇性的錯誤,他們已經很長一段時間了。 + =運算符不是VB.NET語法,需要AddHandler來訂閱事件。 來自任何人的猜測。 lambda不能是Function,除非委派類型返回值的極少數情況除外。一行中有三個錯誤,你不會有機會。你需要VS2010來編寫一個Sub lambda。像這樣:

Module Module1 
    Sub Main() 
     Dim obj As New Test 
     AddHandler obj.example, Sub(sender As Object, e As EventArgs) 
            '' etc... 
           End Sub 
    End Sub 
End Module 

Class Test 
    Public Event example As EventHandler 
End Class 

對於較早的版本,您需要一個非匿名的輔助方法。就像這樣:

AddHandler obj.example, AddressOf helper 
... 
Sub helper(ByVal sender As Object, ByVal e As EventArgs) 
    '' etc.. 
End Sub 

人1機0

+0

謝謝,漢斯,應該這樣做。我已經嘗試過varuiys代碼轉換器,並對lamda等進行了一些研究,但都沒有成功。有趣的是,即使Reflector說它應該是錯誤的。就像你的第一個答案,它只生成函數/結束函數(內聯),VS2010不喜歡它。 再次感謝。 – 2011-03-12 03:34:27