我有一个共享队列,用于转储不同类中包含的各种消息,因此我将其类型作为Object。
问题是,消息被出列并处理,但由于消息类型不同,Intellisense不会显示类属性或方法。
如何找到Intellisense工作?
答案 0 :(得分:1)
您需要提供这些不同消息类共享的公共基类或接口。因此,您将拥有MessageBase
或IMessage
的队列,而不是对象队列。您希望访问的方法和属性需要在基础/接口中定义。然后,Intellisense将显示这些属性和方法(但不会显示您在每个类中定义的其他属性/方法)。
答案 1 :(得分:0)
.NET Framework中有两个Queue类,区别在于它们是在不同时间发布的 - 一个是更新的。使用下面第二个列表项中显示的强类型 Queue(Of T) 来实现智能感知并拥有一个可以轻松编程的强类型实例...
代码示例
Dim numbers As New Queue(Of String)
两个队列类:
System.Collections.Generic.Queue(Of T)
使用链接访问文档,将doc页面置于VB语法模式,然后向下滚动到示例部分以查看其用法。
如果你使用的队列与上面提到的队列不同,你可以使用以下机制将出队对象转换/强制转换为强类型值: