2011-08-27 43 views
5

Tôi cố gắng để gọi một phương thức mà bắt đầu trên một sợi nền trên thread UI gọi BeginInvoke và đi qua trong một đại biểu như sau:Trợ giúp với Dispatcher.BeginInvoke

Dispatcher.BeginInvoke(Function() UpdateApplicationDataUI()) 

để gọi phương pháp này:

Private Sub UpdateApplicationDataUI() 
... 
End Sub 

Tuy nhiên, tôi gặp lỗi trong lệnh gọi BeginInvoke (phần UpdateApplicationDataUI của người được ủy quyền là nói "Biểu thức không tạo ra giá trị"). Tôi chắc rằng tôi đang thiếu một cái gì đó đơn giản ... bất kỳ ý tưởng?

Đã nghiên cứu thêm và trả lời câu hỏi của riêng tôi:

Me.Dispatcher.BeginInvoke(Function() New Action(AddressOf UpdateApplicationDataUI)) 
+0

bạn có thể làm dễ dàng hơn trong VB.net 4 xem câu trả lời của tôi – Carsten

+1

Chỉ cần xóa hàm() hoàn toàn. –

Trả lời

13

Tôi nghĩ rằng cú pháp trong VB.net cho điều này là

Dispatcher.BeginInvoke(Sub() UpdateApplicationDataUi())