public static T GetObjectFromSession <T>(this HttpSessionStateBase session, INakedObjectsFramework framework, string key) where T : class { object rawValue = session[key]; if (rawValue == null) { return(null); } if (typeof(T).IsAssignableFrom(rawValue.GetType())) { return((T)rawValue); } if (rawValue is string) { var obj = framework.GetObjectFromId((string)rawValue); if (typeof(T).IsAssignableFrom(obj.GetType())) { return((T)obj); } } return(null); }
public static object GetObjectFromSession(this HttpSessionStateBase session, INakedObjectsFramework framework, string key) { object rawValue = session[key]; if (rawValue == null) { return(null); } if (rawValue is string) { return(framework.GetObjectFromId((string)rawValue)); } return(rawValue); }