public void UpdateCache()
        {
            try { _cachedComponent = target.GetComponent(componentName); } catch { _cachedComponent = null; }
            try { _cachedMember = _cachedComponent.GetType().GetMember(memberName)[0]; } catch { _cachedMember = null; }
            PropertyOrFieldInfo propertyOrField = new PropertyOrFieldInfo(_cachedMember);
            object obj = propertyOrField.GetValue(_cachedComponent);

            _cachedCollection              = (ICollection)obj;
            _cachedElementType             = _cachedMember == null ? null : propertyOrField.Type.GetGenericArguments()[0];
            _cachedCollectionTarget        = target;
            _cachedCollectionComponentName = componentName;
            _cachedCollectionMemberName    = memberName;
        }
        public object KeySelector(object elmt)
        {
            PropertyOrFieldInfo property = new PropertyOrFieldInfo(elmt.GetType().GetMember(sortingColumn.fieldName)[0]);

            return(property.GetValue(elmt));
        }