Beispiel #1
0
        public CompositeSignature(Type[] sourceTypes = null, string[] propertyNameExclutions = null, Type baseType = null, bool prettyNames = true, CompositeProperty[] ClassProperties = null)
        {
            if (ClassProperties == null)
            {
                ClassProperties = new CompositeProperty[]
                { }
            }
            ;

            if (propertyNameExclutions == null)
            {
                propertyNameExclutions = new string[]
                { }
            }
            ;

            if (sourceTypes == null)
            {
                sourceTypes = new Type[]
                { }
            }
            ;

            else if (baseType == null)
            {
                baseType = DefaultBaseType(sourceTypes);
            }

            if (baseType != null)
            {
                propertyNameExclutions =
                    baseType
                    .GetProperties()
                    .Select(p => p.Name)
                    .Union(propertyNameExclutions)
                    .ToArray();
            }

            _SourceTypes            = sourceTypes;
            _PropertyNameExclutions = propertyNameExclutions;
            _BaseType        = baseType;
            _PrettyNames     = prettyNames;
            _ClassProperties = ClassProperties;
        }
Beispiel #2
0
 private static string pretty(CompositeProperty _ClassProperty) =>
 pretty(_ClassProperty.Name);