4

次のような、プログラムに関するいくつかのパラメーターを格納する静的クラスがあります。

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

このクラスのすべてを文字列値として与える関数が必要です。次のようなものnamesです。values

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

クラスのすべてのプロパティをループする方法は? ただし、この例では、オブジェクトとして参照できる非静的クラスを使用しています。そのため、私は彼らのコードを使用できません。

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 に答える