public IObjects Create(IDBBase db) { if (db == null) { return(null); } Type type = db.GetType(); Type[] interfaces = type.GetInterfaces(); foreach (Type item in interfaces.Reverse()) { if (_creators.ContainsKey(item)) { ICreator creator = _creators[item]; return(creator.Create(db)); } } return(null); }