C# 使用System.Reflection打印所有系统环境信息
我们有一个小任务,就是使用C# 使用System.Reflection打印所有系统环境信息,c#,environment-variables,console-application,system.reflection,C#,Environment Variables,Console Application,System.reflection,我们有一个小任务,就是使用反射在控制台窗口中打印环境类的所有变量,但是我甚至不知道该怎么做。如果我在这里写错了什么,我很抱歉,我是C的新手 当然我可以使用这种代码,但这不是我所需要的 string machineName = System.Environment.MachineName; Console.WriteLine(machineName); 我在谷歌搜索了这么多,这就是我发现的,但我不认为这是我需要的。我甚至不知道我需要什么 System.Reflection.Assembly in
反射
在控制台窗口中打印环境
类的所有变量,但是我甚至不知道该怎么做。如果我在这里写错了什么,我很抱歉,我是C
的新手
当然我可以使用这种代码,但这不是我所需要的
string machineName = System.Environment.MachineName;
Console.WriteLine(machineName);
我在谷歌搜索了这么多,这就是我发现的,但我不认为这是我需要的。我甚至不知道我需要什么
System.Reflection.Assembly info = typeof(System.Int32).Assembly;
System.Console.WriteLine(info);
任何建议、线索?使用方法获取环境的所有公共和静态属性
,然后显示每个属性的名称和值:
var properties = typeof(Environment)
.GetProperties(BindingFlags.Public | BindingFlags.Static);
foreach(var prop in properties)
Console.WriteLine("{0} : {1}", prop.Name, prop.GetValue(null));
你不需要在这里思考
foreach(DictionaryEntry e in System.Environment.GetEnvironmentVariables())
{
Console.WriteLine(e.Key + ":" + e.Value);
}
var compName = System.Environment.GetEnvironmentVariables()["COMPUTERNAME"];
查看
typeof(Environment)
这里不需要反射。最好依赖公共APIGetEnvironmentVariables
。