J'ai une classe qui retourne une Response2
qui ne comprend que deux définitions auxquelles je tiens:Itère classe DataContract
Response3.Id
Response3.Name
Mais, ces données sont retournées sous forme de liste, b/c ma définition de classe ressemble à ceci :
[DataContract]
public class Response2
{
[DataMember(Name = "done")]
public bool done;
[DataMember(Name = "records")]
public List<Response3> r3entry;
}
[DataContract]
public class Response3
{
[DataMember(Name = "Id")]
public string strId { get; set; }
[DataMember(Name = "Name")]
public string strName { get; set; }
}
maintenant, j'ai une liste de chaînes à itérer, mais lorsque je tente de faire ce qui suit:
Response2 propResponse2 = MakeRequest2(propertyRequest2, sfToken);
foreach (string strId in propResponse2)
{
System.Windows.Forms.MessageBox.Show(strId.Name)
}
Je reçois une erreur indiquant: déclaration
foreach ne peut pas fonctionner sur des variables de type « Response2 » parce que « Response2 » ne contient pas de définition publique pour « GetEnumerator »
Je suppose que cela signifie que je J'ai besoin d'ajouter quelque chose au DataContract dans la classe, mais je ne suis pas sûr de savoir où le faire pour pouvoir correctement itérer.
Une aide?
Vous devez provenir d'un monde 'JavaScript'. --- Je suppose que 'propResponse2' est de type' Response2'? Si oui, alors je suppose que vous essayez d'itérer sur les membres des données de la classe? 'foreach' ne le fera pas. Et il n'y a pas de telle bête. Je suppose que vous essayez de sérialiser la classe. Pour cela, utilisez 'DataContractSerializer' ou' NetDataContractSerializer' – GreatAndPowerfulOz
Comment 'propResponse2' est-il défini? –
@UweKeim, à partir du message d'erreur, il est évident qu'il est déclaré comme 'Response2' – GreatAndPowerfulOz