免責聲明調用方法:不專業的開發商C# - 轉換而與輸出參數
我們使用SSIS拉消息RabbitMQ的,我已經成功地構建拉和彈出消息了我們一個C#腳本組件排隊給我們使用Queue.Dequeue()
。到現在爲止還挺好。但是,我們希望進行某種形式的自動檢查,以便我們的SSIS組件不會連續運行,而是可以計劃每n分鐘運行一次。
我發現這個方法Dequeue(int timeout, out object result)
,並已成功地實現它,像這樣:(我們想要的BasiocDeliverEventArgs導致以處理郵件的正文)
object message;
myConsumer.Queue.Dequeue(millisecondsTimeout: 500, result:out message);
BasicDeliverEventArgs ea = (BasicDeliverEventArgs)message;
這似乎是工作,但不知何故,我覺得有點多餘。例如,這對我來說似乎更直觀:
myConsumer.Queue.Dequeue(millisecondsTimeout: 500
, result:out (BasicDeliverEventArgs)message)
但是,這會產生一個指定無效參數的錯誤。有人能解釋爲什麼它會拋出這個錯誤,爲什麼這個語法是無效的?
因爲C#語言規範是這樣說的。 –
類型化隊列不會更有幫助嗎? –
@PatrickHofman什麼是類型化隊列?只是搜索它,但我沒有立即看到任何解釋更多。至於先前的評論,夠公平的。我希望找到解釋爲什麼會這樣說。 – SchmitzIT