簡體   English   中英

在vb.net中使用nservicebus

[英]using nservicebus in vb.net

我試圖將nServiceBus PubSub .net4示例轉換為vb,但我在某一方面苦苦掙扎,我認為這是語言問題,但我想請教專家。

有問題的代碼來自發布者:

var eventMessage = publishIEvent ? Bus.CreateInstance<IEvent>() : new EventMessage();

當我嘗試在vb中使用

 Public Property Bus As IBus
 Dim eM As New EventMessage()
            eM = Bus.CreateInstance(Of IEvent)()

我收到未設置為對象錯誤實例的對象引用

但是然后我得到一個錯誤,說我不能在iBus是的接口上使用new

關於如何解決這個問題的任何想法?

鑒於C#和vb.net之間的相似之處,我無法相信這是不可能的嗎?

任何想法歡迎

謝謝

克里斯

條件的兩個部分沒有相同的類型,但是它們都可以分配給IEvent (我相信),這是C#編譯器將使eventMessage具有的類型。 嘗試這個:

Dim eM as IEvent
If publishIEvent Then
    eM = Bus.CreateInstance(Of IEvent)()
Else
    eM = New EventMessage()
End If

(可能不是完全正確的語法;我的VB變得生銹了……)

(順便說一句,我建議使用名稱eventMessage代替eM 。)

上面的C#代碼是if-then結構。 我前面沒有代碼,但該行實質上是以下代碼的簡寫:

If (publishIEvent == true)
{
   var eventMessage = Bus.CreateInstance<IEvent>()
}
else
{
   var eventMessage = new EventMessage();
}

希望這有助於解決問題。

僅供參考,我意識到上面的代碼在語法上是不正確的,只是試圖說明C#語句的要點。

暫無
暫無

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

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