c# – 迭代静态类中的属性

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

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

我想有一个函数,它将此类的所有名称和值作为字符串值,如:

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

我尝试了类似的SO问题,How to loop through all the properties of a class?,但是在这个例子中,他们使用了一个非静态类,它们可以作为对象引用.所以,我无法使用他们的代码.

最佳答案
那些不是属性 – 它们是字段:

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

(显然,调整上面写入StringBuilder而不是写入控制台)

转载注明原文:c# – 迭代静态类中的属性 - 代码日志