Esempio n. 1
0
        public void InheritAttributes(MetaMetadataField inheritFrom)
        {
            var classDescriptor = ClassDescriptor.GetClassDescriptor(this);

            foreach (MetaMetadataFieldDescriptor fieldDescriptor in classDescriptor.AllFieldDescriptors)
            {
                if (fieldDescriptor.IsInheritable)
                {
                    ScalarType scalarType = fieldDescriptor.ScalarType;
                    try
                    {
                        if (scalarType != null &&
                            scalarType.IsDefaultValue(fieldDescriptor.Field, this) &&
                            !scalarType.IsDefaultValue(fieldDescriptor.Field, inheritFrom))
                        {
                            Object value = fieldDescriptor.Field.GetValue(inheritFrom);
                            fieldDescriptor.Field.SetValue(this, value);
                            Debug.WriteLine("inherit\t" + this.Name + "." + fieldDescriptor.Name + "\t= " + value);
                        }
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine(inheritFrom.Name + " doesn't have field " + fieldDescriptor.Name + ", ignore it.");
                        //					e.printStackTrace();
                    }
                }
            }
        }
Esempio n. 2
0
        public bool IsDefaultValueFromContext(object context)
        {
            if (context != null)
            {
                return(ScalarType.IsDefaultValue(field, context));
            }

            return(false);
        }
Esempio n. 3
0
 public bool IsDefaultValue(String value)
 {
     return(ScalarType.IsDefaultValue(value));
 }