いくつかのスコープ(状態)を検索対象にして値を得る
一番小さいスコープから一番大きいスコープまでを自動でたどっていくのって、誤って間違ったデータを取得してしまう可能性が高いと思うのです。だから、探すスコープ(状態)とその順番を指定できるといいのかもしれない。
たとえば次のようなクラスを用意して
public static class StateFinder
{
public static T Get<T>(string key, StateKind kind, params StateKind[] kinds)
{
/// 指定されたkindやkindsの順番で値を探してTに変換して返す
return ...;
}
}public enum StateKind
{
HttpContext,
Redirection,
View,
Session,
Application
}