Пример #1
0
        private static Type GetImplementation <T>(ExpressMetaData metadata)
        {
            var implementations = metadata.TypesImplementing(typeof(T)).ToList();
            var ids             = new HashSet <short>(implementations.Select(i => i.TypeId));
            var root            = implementations.AsQueryable()
                                  .FirstOrDefault(i => !ids.Contains(i.SuperType.TypeId));

            return(root.Type);
        }