MessageQueue.GetEnumerator 方法
定义
注意
This method returns a MessageEnumerator that implements RemoveCurrent family of methods incorrectly. Please use GetMessageEnumerator2 instead.
注意
此 API 现已过时。
枚举队列中的消息。Enumerates the messages in a queue. GetEnumerator() 已弃用。GetEnumerator() is deprecated. 应改用 GetMessageEnumerator2()。GetMessageEnumerator2() should be used instead.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
[System.Obsolete("This method returns a MessageEnumerator that implements RemoveCurrent family of methods incorrectly. Please use GetMessageEnumerator2 instead.")]
public System.Collections.IEnumerator GetEnumerator ();
[System.Obsolete]
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
[<System.Obsolete("This method returns a MessageEnumerator that implements RemoveCurrent family of methods incorrectly. Please use GetMessageEnumerator2 instead.")>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
[<System.Obsolete>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
返回
IEnumerator,它提供与队列消息的动态连接。A IEnumerator that provides a dynamic connection to the messages in the queue.
实现
- 属性
示例
以下代码示例演示了 GetEnumerator 的用法。The following code example demonstrates the use of GetEnumerator.
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Get an IEnumerator object.
System::Collections::IEnumerator^ enumerator =
queue->GetMessageEnumerator2();
// Use the IEnumerator object to loop through the messages.
while(enumerator->MoveNext())
{
// Get a message from the enumerator.
Message^ msg = (Message^)enumerator->Current;
// Display the label of the message.
Console::WriteLine(msg->Label);
}
queue->Close();
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Get an IEnumerator object.
System.Collections.IEnumerator enumerator = queue.GetEnumerator();
// Use the IEnumerator object to loop through the messages.
while(enumerator.MoveNext())
{
// Get a message from the enumerator.
Message msg = (Message)enumerator.Current;
// Display the label of the message.
Console.WriteLine(msg.Label);
}
注解
下表显示了此方法是否在各种工作组模式下可用。The following table shows whether this method is available in various Workgroup modes.
| 工作组模式Workgroup mode | 可用Available |
|---|---|
| 本地计算机Local computer | 是Yes |
| 本地计算机和直接格式名称Local computer and direct format name | 是Yes |
| 远程计算机Remote computer | 否No |
| 远程计算机和直接格式名称Remote computer and direct format name | 是Yes |