Exemplo n.º 1
0
        protected bool MatchComponentPattern(System.Type subject)
        {
            const BindingFlags flattenHierarchyMembers =
                BindingFlags.FlattenHierarchy | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;

            if (declaredModel.IsEntity(subject))
            {
                return(false);
            }
            var modelInspector = (IModelInspector)this;

            return(!subject.IsEnum && (subject.Namespace == null || !subject.Namespace.StartsWith("System")) &&          /* hack */
                   !modelInspector.IsEntity(subject) &&
                   !subject.GetProperties(flattenHierarchyMembers).Cast <MemberInfo>().Concat(
                       subject.GetFields(flattenHierarchyMembers)).Any(m => modelInspector.IsPersistentId(m)));
        }