public static void RegisterByType(Type type, TypeCreationMode mode) { lock (Instances) { if (mode == TypeCreationMode.Lazy) { if (!Instances.ContainsKey(type)) { Instances.Add(type, null); } } else if (mode == TypeCreationMode.Normal) { if (Instances.ContainsKey(type)) { Instances.Remove(type); } Instances.Add(type, Activator.CreateInstance(type)); } } }
public static void Register <T>(TypeCreationMode mode) { RegisterByType(typeof(T), mode); }