public ListNode(PropertyInfo prop, Object obj) { FName = prop.Name; FStates = ObjectFieldStates.IsProperty; MethodInfo mInfo = prop.GetGetMethod(true); if (mInfo.IsStatic) { FStates |= ObjectFieldStates.IsStatic; } if (mInfo.IsPublic) { FStates |= ObjectFieldStates.IsPublic; } else if (mInfo.IsPrivate) { FStates |= ObjectFieldStates.IsPrivate; } else { FStates |= ObjectFieldStates.IsProtected; } ParameterInfo[] pInfos = prop.GetIndexParameters(); if (pInfos.Length > 0) { FValue = String.Format("[{0}] : {1}", pInfos[0].ParameterType.FullName, mInfo.ReturnType.FullName); FStates |= ObjectFieldStates.IsIndexer; } else { try { FValue = GetObjectValue(prop.GetValue(obj, null)); } catch (Exception) { FValue = "<not accessible>"; } } }
public ListNode(FieldInfo field, Object obj) { FName = field.Name; FStates = ObjectFieldStates.IsNone; if (field.IsStatic) { FStates |= ObjectFieldStates.IsStatic; } if (field.IsPublic) { FStates |= ObjectFieldStates.IsPublic; } else if (field.IsPrivate) { FStates |= ObjectFieldStates.IsPrivate; } else { FStates |= ObjectFieldStates.IsProtected; } FValue = GetObjectValue(field.GetValue(obj)); }