Ruby on Railsの構成には、モデルのプロパティ名の平易な英語バージョンを定義できるYAMLファイルがあります。実際には、プレーンな任意の言語のバージョンを定義できます。これは国際化の一部ですが、ほとんどの人は、モデルの検証結果をユーザーに表示するなどの目的で使用します。
.NETMVC4プロジェクトにはそのような機能が必要です。ユーザーがフォームを送信すると、投稿したほとんどすべてのメールが届きます(フォームはモデルにバインドされます)。リフレクションによってプロパティ/値のペアのHTMLテーブルをダンプするヘルパーメソッドを作成しました。
foreach (PropertyInfo info in obj.GetType()
.GetProperties(BindingFlags.Public |
BindingFlags.Instance |
BindingFlags.IgnoreCase))
{
if (info.CanRead && !PropertyNamesToExclude.Contains(info.Name))
{
string value = info.GetValue(obj, null) != null ?
info.GetValue(obj, null).ToString() :
null;
html += "<tr><th>" + info.Name + "</th><td>" + value + "</td></tr>";
}
}
ただし、もちろん、これはinfo.Name
「OrdererGid」のように出力されますが、「OrdererUsername」の方が適切な場合もあります。.NETにこのようなものはありますか?