使用System.Reflection打印所有System.Environment信息

时间:2014-04-20 20:34:24

标签: c# environment-variables console-application system.reflection

我们有一个小小的任务是在控制台窗口中使用Environment打印reflection课程的所有变量,但是如何做到这一点我甚至都没有线索。如果我在这里写错了,我很抱歉,我是C#的新手。

当然我可以使用这种代码,但这不是我要求的。

string machineName = System.Environment.MachineName;
Console.WriteLine(machineName);

我搜索了Google这么多,这就是我找到的,但我不认为这是我需要的。我甚至都不知道自己需要什么。

System.Reflection.Assembly info = typeof(System.Int32).Assembly;
System.Console.WriteLine(info);

有任何建议,线索吗?

2 个答案:

答案 0 :(得分:11)

这里不需要反思

foreach(DictionaryEntry e in System.Environment.GetEnvironmentVariables())
{
    Console.WriteLine(e.Key  + ":" + e.Value);
}

var compName = System.Environment.GetEnvironmentVariables()["COMPUTERNAME"];

答案 1 :(得分:3)

使用GetProperties方法获取Environment的所有公共静态属性,然后显示每个属性的名称和值:< / p>

var properties = typeof(Environment)
                .GetProperties(BindingFlags.Public | BindingFlags.Static);

foreach(var prop in properties)
   Console.WriteLine("{0} : {1}", prop.Name, prop.GetValue(null));