public static MemberInspector Inspector(this PropertyInfo propertyInfo)
        {
            if (!_propertyInspectorCache.Value.TryGetValue(propertyInfo, out var inspector))
            {
                inspector = new MemberInspector(propertyInfo);

                _propertyInspectorCache.Value[propertyInfo] = inspector;
            }

            return(inspector);
        }
        public static MemberInspector Inspector(this FieldInfo fieldInfo)
        {
            if (!_fieldInspectorCache.Value.TryGetValue(fieldInfo, out var inspector))
            {
                inspector = new MemberInspector(fieldInfo);

                _fieldInspectorCache.Value[fieldInfo] = inspector;
            }

            return(inspector);
        }
        public static MemberInspector Inspector(this MemberInfo memberInfo)
        {
            if (!_memberInspectorCache.Value.TryGetValue(memberInfo, out var inspector))
            {
                inspector = new MemberInspector(memberInfo);

                _memberInspectorCache.Value[memberInfo] = inspector;
            }

            return(inspector);
        }
 public MemberWithObjectInspector(MemberInspector inspector, object obj)
 {
     _obj             = obj;
     _memberInspector = inspector;
 }