public T FindOrCreate <T>(string name, GLCreateHandler <T> handler) { if (_states.ContainsKey(name)) { return((T)_states[name]); } T obj = handler(this); _states[name] = obj; return(obj); }
public static T FindOrCreate <T>(string name, GLCreateHandler <T> handler) { if (CurrentContext == null) { return(default(T)); } if (CurrentContext._states.ContainsKey(name)) { return((T)CurrentContext._states[name]); } T obj = handler(); CurrentContext._states[name] = obj; return(obj); }