如何获取列表

时间:2015-05-23 23:10:27

标签: c# list class properties generic-list

我正在为我的学位(我的学位)建立一个项目,我已经建立了一个列表,一个通用列表来添加对象并与它们一起工作。

Hapeens我也在我的列表类中创建了一个新方法来列出所有<T>个对象的列表内容

我想打印每个<T>参数或值,例如<T><Cars>我想打印标记,模型,年份,燃料,颜色......

我也知道这是正确的,并试图建立一个适当的解决方案,但是,在我的代码中可能有些错误:

在我的List classe中,我有这个:

  • T [] array;
  • 构造函数

    // Constructores

    public GenericList()         {             myList = new T [MAXLENGTH];             counter = 0;         }

以及更多两种方法来添加,列出以及T[] array

的适当性
 public T[] ObjectosEmLista
        {
            get { return myList; }
            set { myList = value; }
        }

        //public T ConsultaObjectoPorNome(string n)
        //{

        //}

        public T AddObject (T obj)
        {
            aux.Add(obj);
            return obj;
        }





        //Listagem
        public void List()
        {

            foreach (T t in myList)
            {
                Console.WriteLine("Marca {0} ", t);
            }


        }

在主要课程中:

  GenericList<Auto> autos = new GenericList<Auto>();
  autos.AddObject(new Auto("89-FF-42", "Citroen", "C4 1.6HDI"));
  autos.AddObject(new Auto("19-89-LH", "Mercedes", "E230"));
  autos.AddObject(new Auto("75-FA-45", "Skoda", "Fabia"));

那么,我如何打印每一个,板标记和模型。请帮助我,这很重要。

2 个答案:

答案 0 :(得分:0)

我认为你要找的是Reflection。试试这个以获取有关您班级中字段的信息。

FieldInfo[] fields = data.GetType().GetFields(BindingFlags.Public | 
                                              BindingFlags.NonPublic | 
                                              BindingFlags.Instance);

从这一点开始,很容易提取更多数据(在字段上使用.GetValue())。

foreach (var element in array)
    foreach (var field in fields)
        Console.WriteLine(field.Name + ": " + field.GetValue(element));

答案 1 :(得分:0)

您可以尝试使用Foreach循环

foreach (Auto item in autos)
{
   /// here you will get every item in the list and can access item.properties
   print item.ModelName //, .each property.. 
   //or
   print item.ToString;
}