0

インスタンスを除いてどのフィールドを含めるべきかActionExecutingContextを考えていましたが、インスタンスデータの読み取り可能なテキスト表現を生成するヘルパーがあれば素晴らしいと思いましたか?

私はすべての場合に完璧ではないことを知っています-つまり、深すぎる可能性があり、デフォルトで必要なすべてを出力しない可能性がありますが、多くの場合、データのない単なる例外メッセージよりも優れています。

誰かがそのようなことを書いたことがありますか、オープンソースプロジェクトで見ましたか?

4

1 に答える 1

1

リフレクションを使用して、オブジェクトのすべてのプロパティの値を簡単に取得できます。

public static void LogPublicProperties(object obj)
{
    foreach (var propertyInfo in d.GetType().GetProperties())
        Console.WriteLine("{0} = {1}",
            propertyInfo.Name,
            propertyInfo.GetValue(d, null));
}

フィールドをログに記録する場合は、Type.GetFields()代わりに を使用しますGetProperties()

于 2012-07-20T11:27:45.427 に答える