private void SetupTarget() { object target = _targetRef.Target; Type targetType = _targetRef.Target.GetType(); BindingFlags bindingFlags = BindingFlags.Public; if(target is Type) { bindingFlags |= BindingFlags.Static; targetType = target as Type; } else { bindingFlags |= BindingFlags.Instance; } if(_shouldShowNonPublicMembers) { bindingFlags |= BindingFlags.NonPublic; } FieldInfo[] fieldInfos = targetType.GetFields(bindingFlags); PropertyInfo[] propertyInfos = targetType.GetProperties(bindingFlags); for(int f = 0; f<fieldInfos.Length; f++) { FWatcherLinkMember member = new FWatcherLinkMember(this, fieldInfos[f]); if(member.CheckIfValid()) { _members.Add(member); } } for(int p = 0; p<propertyInfos.Length; p++) { FWatcherLinkMember member = new FWatcherLinkMember(this, propertyInfos[p]); if(member.CheckIfValid()) { _members.Add(member); } } }