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)); }