4

我有一个静态类,它存储有关我的程序的一些参数,如下所示,

public static class Parameters
{
    public static string Path = "C:\\path.txt";
    public static double Sigma = 0.001;
    public static int Inputs = 300;
}

我想要一个函数,它把这个类的所有namesvalues作为一个字符串值,比如:

public static string LogParameters()
{
     return "Path = C:\\path.txt" + Envrironment.NewLine + 
            "Sigma = 0.001" + Environment.NewLine + 
            "Inputs = 300";
}

我尝试了这个类似的 SO 问题,如何遍历一个类的所有属性?,但是在这个例子中,他们使用了一个非静态类,他们可以将其称为对象。所以,我无法使用他们的代码。

4

1 回答 1

12

这些不是属性 - 它们是字段:

foreach(FieldInfo field in typeof(Parameters).GetFields()) {
    Console.WriteLine("{0}={1}", field.Name, field.GetValue(null));
}

(显然,将上面的内容调整为写入 StringBuilder 而不是控制台)

于 2012-12-09T13:32:08.847 回答