public static IEnumerable <Instantiator> GetAll(Type classType) { InstantiatorCache cache = null; lock (lockCaches) { if (!caches.TryGetValue(classType, out cache)) { cache = new InstantiatorCache(classType); caches[classType] = cache; } } return(cache.Instantiators); }
public static IEnumerable <Instantiator> GetAllConstructors(Type classType) { return(InstantiatorCache.GetAll(classType)); }
public static IEnumerable <TypedInstantiator <T> > GetAllConstructors <T>() { return(InstantiatorCache.GetAll <T>()); }
public static Instantiator GetConstructor(Type classType, params Type[] parameterTypes) { return(InstantiatorCache.Get(classType, parameterTypes)); }
public static TypedInstantiator <T> GetConstructor <T>(params Type[] parameterTypes) { return(InstantiatorCache.Get <T>(parameterTypes)); }