Ho scritto una semplice classe di gestione SessionItem per gestire tutti quei fastidiosi controlli null e inserire un valore predefinito se non ne esiste nessuno. Qui è il mio metodo GetItem:C# - Come si definisce un metodo in linea Func <T> come parametro?
public static T GetItem<T>(string key, Func<T> defaultValue)
{
if (HttpContext.Current.Session[key] == null)
{
HttpContext.Current.Session[key] = defaultValue.Invoke();
}
return (T)HttpContext.Current.Session[key];
}
Ora, come faccio io in realtà uso questo, passando nel Func <T> come parametro del metodo in linea?
Il ?? la versione non imposta il valore nella sessione. –