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); }
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])); }
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); }
/// <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); } }
public bool Match(object candidate) { IReflectField field = (IReflectField)candidate; return(!field.IsTransient() && !field.IsStatic()); }
private bool IsTransient(IReflectField field) { return field.IsTransient() || Platform4.IsTransient(field.GetFieldType()); }
private bool ShouldStoreField() { return(!_reflectField.IsTransient() || (_containingClass != null && _containingClass .ShouldStoreTransientFields())); }