从电话中接听回应

时间:2013-05-22 07:49:14

标签: c# windows-phone-7 foreach compiler-errors

我在foreach声明中收到此错误。

foreach statement cannot operate on variables of type because does not contain a public definition for 'GetEnumerator'.

这意味着什么,我怎么解决这个问题?

更新

以下是一些代码:

    ServiceReference.TimereportResponseDto[] response;
    foreach (ServiceReference.TimereportResponseDto r in response)
    arbu.Text += r.Message + " " + r.Id + Environment.NewLine; 

[] 添加到第一个精简版,现在我又收到了另一个错误:

Use of unassigned local variable 'response'

更新2

我有这个文档示例,它看起来像这样:

Gateway.TimereportResponseDto[] response = theGate.CreateTimereport(timeReport); 
foreach (Gateway.TimereportResponseDto r in response) 
textBoxLog.Text += r.Message + " " + r.Id + Environment.NewLine; 

3 个答案:

答案 0 :(得分:8)

这意味着您无法对所需对象执行foreach,因为它不会公开由GenEnumeratorIEnumerable)实施的IEnumerable<T>方法。似乎它不是Collection-object。

请参阅MSDN

IEnumerable的接口

Exposes the enumerator, which supports a simple iteration over a non-generic collection.

答案 1 :(得分:4)

您没有迭代实现(IEnumerableIEnumerable<T>),的对象(例如数组或列表)

foreach - MSDN

  

foreach语句为每个语句重复一组嵌入式语句   数组中的元素或实现。的对象集合   System.Collections.IEnumerable或   System.Collections.Generic.IEnumerable<T>界面

答案 2 :(得分:2)

来自 MSDN ;

  

foreach语句为每个语句重复一组嵌入式语句   数组中的元素 或实现的对象集合   System.Collections.IEnumerable或   System.Collections.Generic.IEnumerable接口

看起来你应该在课堂上使用IEnumerable接口。