コード例 #1
0
        public static List <Tuple <IObjectAttribute, ClassAttribute> > GetGenerateDefaultAttributes(ClassAttributesDefinition classAttributes, ulong?objectType)
        {
            if (classAttributes == null)
            {
                throw new ArgumentNullException("classAttributes");
            }

            return(GetDefaultAttributes(classAttributes, objectType, false));
        }
コード例 #2
0
        private static List <Tuple <IObjectAttribute, ClassAttribute> > GetDefaultAttributes(ClassAttributesDefinition classAttributes, ulong?objectType, bool createObject)
        {
            if (classAttributes == null)
            {
                throw new ArgumentNullException("classAttributes");
            }

            List <Tuple <IObjectAttribute, ClassAttribute> > objectAttributes = new List <Tuple <IObjectAttribute, ClassAttribute> >();

            foreach (ClassAttribute classAttribute in classAttributes.CommonAttributes)
            {
                IObjectAttribute objectAttribute = (createObject) ? GetDefaultAttribute(classAttribute.Value, classAttribute.CreateDefaultValue) : GetDefaultAttribute(classAttribute.Value, classAttribute.GenerateDefaultValue);
                objectAttributes.Add(new Tuple <IObjectAttribute, ClassAttribute>(objectAttribute, classAttribute));
            }

            if ((objectType != null) && (classAttributes.TypeSpecificAttributes.ContainsKey(objectType.Value)))
            {
                foreach (ClassAttribute classAttribute in classAttributes.TypeSpecificAttributes[objectType.Value])
                {
                    IObjectAttribute objectAttribute = (createObject) ? GetDefaultAttribute(classAttribute.Value, classAttribute.CreateDefaultValue) : GetDefaultAttribute(classAttribute.Value, classAttribute.GenerateDefaultValue);
                    objectAttributes.Add(new Tuple <IObjectAttribute, ClassAttribute>(objectAttribute, classAttribute));
                }
            }

            return(objectAttributes);
        }