Ejemplo n.º 1
0
        private void SetFieldsToNull(object @object, IReflectClass claxx)
        {
            IReflectField[] fields;
            fields = claxx.GetDeclaredFields();
            for (int i = 0; i < fields.Length; i++)
            {
                IReflectField field = fields[i];
                if (field.IsStatic())
                {
                    continue;
                }
                if (field.IsTransient())
                {
                    continue;
                }
                field.Set(@object, null);
            }
            IReflectClass superclass = claxx.GetSuperclass();

            if (superclass == null)
            {
                return;
            }
            SetFieldsToNull(@object, superclass);
        }
Ejemplo n.º 2
0
        private IReflectField[] FilterTransientFields(IReflectField[] fields)
        {
            IList filteredFields = new ArrayList();

            for (int fieldIndex = 0; fieldIndex < fields.Length; ++fieldIndex)
            {
                IReflectField field = fields[fieldIndex];
                if (!field.IsTransient())
                {
                    filteredFields.Add(field);
                }
            }
            return((IReflectField[])Sharpen.Collections.ToArray(filteredFields, new IReflectField
                                                                [filteredFields.Count]));
        }
Ejemplo n.º 3
0
            public bool Match(object candidate)
            {
                IReflectField field = (IReflectField)candidate;

                if (field.IsStatic())
                {
                    return(false);
                }
                if (field.IsTransient())
                {
                    return(false);
                }
                if (Platform4.IsTransient(field.GetFieldType()))
                {
                    return(false);
                }
                return(true);
            }
Ejemplo n.º 4
0
        /// <exception cref="System.Exception"></exception>
        protected virtual void AssertNullItem(object obj)
        {
            IReflectClass claxx = Reflector().ForObject(obj);

            IReflectField[] fields = claxx.GetDeclaredFields();
            for (int i = 0; i < fields.Length; ++i)
            {
                IReflectField field = fields[i];
                if (field.IsStatic() || field.IsTransient())
                {
                    continue;
                }
                IReflectClass type = field.GetFieldType();
                if (Container().ClassMetadataForReflectClass(type).IsValueType())
                {
                    continue;
                }
                object value = field.Get(obj);
                Assert.IsNull(value);
            }
        }
Ejemplo n.º 5
0
            public bool Match(object candidate)
            {
                IReflectField field = (IReflectField)candidate;

                return(!field.IsTransient() && !field.IsStatic());
            }
Ejemplo n.º 6
0
 private bool IsTransient(IReflectField field)
 {
     return field.IsTransient() || Platform4.IsTransient(field.GetFieldType());
 }
Ejemplo n.º 7
0
 private bool ShouldStoreField()
 {
     return(!_reflectField.IsTransient() || (_containingClass != null && _containingClass
                                             .ShouldStoreTransientFields()));
 }