string GetProperties(Type type, object Obj, int Level, ref bool bNotEmpty) { StringBuilder ret = new StringBuilder(); #if NET35 var Properties = type.GetProperties().Where(x => // ( x.GetGetMethod().Attributes & MethodAttributes.Static) != MethodAttributes.Static && !x.PropertyType.Equals(typeof(BindingManagerBase)) && !x.PropertyType.Equals(typeof(AccessibleRole)) && !x.PropertyType.Equals(typeof(ControlBindingsCollection)) && !x.PropertyType.Equals(typeof(Control)) && !x.PropertyType.Equals(typeof(MethodBase))// && x.DeclaringType.IsGenericType == false ); #else var Properties = NET20.FilterProperties(type.GetProperties()); #endif if (Properties != null && Properties.Any()) { foreach (var Propertie in Properties) { ret.Append(Save(Propertie, Obj, Level)); bNotEmpty |= true; } } return(ret.ToString()); }
string GetFields(Type type, object Obj, int Level, ref bool bNotEmpty) { StringBuilder ret = new StringBuilder(); #if NET35 IEnumerable <FieldInfo> Fields = type.GetFields().Where(x => ((x.Attributes & FieldAttributes.InitOnly) != FieldAttributes.InitOnly) && ((x.Attributes & FieldAttributes.Literal) != FieldAttributes.Literal) && x.DeclaringType.IsGenericType == false ); #else IEnumerable <FieldInfo> Fields = NET20.FilterFields(type.GetFields()); #endif if (Fields != null && Fields.Any()) { foreach (var Field in Fields) { ret.Append(Save(Field, Obj, Level)); bNotEmpty |= true; } } return(ret.ToString()); }
public bool oldReadyDump(object Obj) { bool ret = false; this.mutex.WaitOne(); if (CheckHash == null) { CheckHash = new HashSet <object>(); } #if NET35 if (CheckHash.Any(x => object.ReferenceEquals(x, Obj))) #else if (NET20.Any(CheckHash, Obj)) #endif { ret = true; } else { CheckHash.Add(Obj); } this.mutex.ReleaseMutex(); return(ret); }
string GetMembers(Type type, object Obj, int Level, ref bool bNotEmpty) { StringBuilder ret = new StringBuilder(); #if NET35 var Members = type.GetMembers().Where(x => (x is MethodInfo)); #else var Members = NET20.Where(type.GetMembers(), typeof(MethodInfo)); #endif if (Members != null && Members.Any()) { foreach (var Member in Members) { ret.Append(Save(Member, Obj, Level)); bNotEmpty |= true; } } return(ret.ToString()); }