我有一个客户端类,其中一个属性是Emails,它是一个字符串列表。我可以循环遍历类的属性来输出值,但是当它到达Emails属性时,它不会遍历电子邮件,因为它需要在列表中执行另一个循环。
foreach (PropertyInfo prop in oClient.GetType().GetProperties())
{
if (prop.Name.ToUpper().ToString() == "EMAILS")
{
//need code to loop through emails
}
else
{
Response.Write("<b>" + prop.Name.ToString() + "</b>: " + prop.GetValue(oClient, null) + "<br />");
}
}
答案 0 :(得分:2)
您可以使用
阅读电子邮件的值Object emails = prop.GetValue(oClient, null);
然后迭代,例如
IEnumerable<String> emailsEnumerable = emails as IEnumerable<String>;
if (emailsEnumerable != null) {
foreach(string emailValue in emailsEnumerable) {
// ...
}
}