2007年の冬に書かれたこの非常にクールな記事は私にこのコードを示しています:
public static class TempDataExtensions
{
public static void PopulateFrom(this TempDataDictionary tempData, object o)
{
foreach (PropertyValue property in o.GetProperties())
{
tempData[property.Name] = property.Value;
}
}
public static void PopulateFrom(this TempDataDictionary tempData
, NameValueCollection nameValueCollection)
{
foreach (string key in nameValueCollection.Keys)
tempData[key] = nameValueCollection[key];
}
public static void PopulateFrom(this TempDataDictionary tempData
, IDictionary<string, object> dictionary)
{
foreach (string key in dictionary.Keys)
tempData[key] = dictionary[key];
}
public static string SafeGet(this TempDataDictionary tempData, string key)
{
object value;
if (!tempData.TryGetValue(key, out value))
return string.Empty;
return value.ToString();
}
}
MVCContribソースまたはMVC2ソースにこのようなコードは表示されません。これにより、現在のMVC2リリース(MVC3プレビュー1にある可能性があります)にすでに存在する同等の機能を恐れることなく、このパターンを今でも使用できると思います。
記事の更新編集は見られませんでした。2007年のこのMVCコードは、時の試練に耐えますか?今のところまだ準備はできていますか?