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
实现此目的。
答案 0 :(得分:2)
您可以在班级ToString()
中覆盖A
。
public class A
{
public int a = 100;
public override string ToString()
{
return a.ToString();
}
}
答案 1 :(得分:0)
如果您不想使用.a
和this
,那么就可以使用反射:
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();
}
})();