[英]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.