public Type GetImplement() { if (ever) { return(Implement); } ever = true; return(Implement = Him.FindImplements(Declare, Him.his.Implements).FirstOrDefault(e => !e.IsAbstract && e.GetConstructors().Any(ee => ee.GetParameters().Length == 0)) ?? Declare); }
private object MatchHashCode(string key) { var args = key.Split('.').Select(int.Parse).ToArray(); return(Him.Invoke(args[0], args[1])); }
private object MatchPath(string key) { var all = HttpContext.Current.Request.Path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).Skip(1); return(Him.Invoke(all.Take(all.Count() - 1).Aggregate(string.Empty, (s, ss) => s + '.' + ss).Trim('.'), all.Last())); }