如何使用列表从类传递数据

时间:2016-11-15 13:54:02

标签: c# console-application

namespace ConsoleApplication3
{
    class A
    {
        public int a = 100;
    }
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();
            A a = new A() ;
            list.Add(a);
            foreach (var i in list)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();

        }
    }
}

此代码提供输出:

ConsoleApplication3.A

如何在不使用A.a的情况下从课程this获取值?我想继续使用ArrayList实现此目的。

3 个答案:

答案 0 :(得分:2)

您可以在班级ToString()中覆盖A

public class A
{
    public int a = 100;

    public override string ToString()
    {
        return a.ToString();
    }
}

答案 1 :(得分:0)

如果您不想使用.athis,那么就可以使用反射:

using System.Reflection;
...

在你的foreach循环中:

FieldInfo[] fields = i.GetType().GetFields(); // All fields of the class A will be here.
foreach (var field in fields)
{
    // write out them all
    Console.WriteLine(field.GetValue(i));
}

注意:
我不确定你的最终目标是什么,但我几乎可以肯定有更简单的方法可以做到这一点。

答案 2 :(得分:0)

我认为这可能是你要求的:

(function() {
'use strict';

angular
    .module('myApp', [
       // ...
        'angular-google-analytics'
    ])
    .config(['AnalyticsProvider', function (AnalyticsProvider) {
           AnalyticsProvider.setAccount('UA-XXXXXXXX');
        }])
    .run(run);

run.$inject = ['stateHandler', 'translationHandler', 'Analytics'];

function run(stateHandler, translationHandler, Analytics) {
    stateHandler.initialize();
    translationHandler.initialize();        
}
})();