带有匿名类型的IList中的Foreach

Luc*_*tos 1 c#

我有一个IList,QuickWatch我可以看到以下内容

Name                    Value                                 Type
ListStatusProposta      { Value = "1", Text = "Beginner" }    <Anonymous Type>
      Text              "Beginner"                            object{string}
      Value             "1"                                   object{string}
Run Code Online (Sandbox Code Playgroud)

我怎样才能foreach访问这些属性?

更新

这是我填补我的方式 IList

protected static object[,] StatusProposta()
{
    object[,] status = {
    { "1", "Beginner" },
    { "2", "Intermediate" },
    { "3", "Advanced" }
                      };

    return status;
}


//public static IList fillLista(string nome)
public static IList<object> fillLista(string nome)
        {
            //List<dynamic> list = new List<dynamic>();
            List<object> list = new List<object>();
            object[,] objeto;

            switch (nome) 
            {                
                case "StatusProposta":
                    objeto = StatusProposta();
                    break;
                default:
                    objeto = null;
                    break;
            }            

            if (objeto != null)
            {
                for (int i = 0; i < (objeto.Length / 2); i++)
                    list.Add(new { Value = objeto[i, 0], Text = objeto[i, 1] });
            }

            return list;
        }



//IList ListaStatusProposta = fillLista("StatusProposta");
IList<object> ListaStatusProposta = fillLista("StatusProposta");
foreach()
{
// ????
}
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 6

匿名类型具有可以正常访问的属性:

foreach(var item in myList)
{
   var val = item.Value;
   var txt = item.Text;
}
Run Code Online (Sandbox Code Playgroud)

这里的一个问题是返回类型fillListaIList而不是泛型, IList这会导致列表中的所有值都被强制转换为object.

IList<dynamic>而是返回.