/// <summary>
        /// Get from cache
        /// </summary>
        /// <param name="name"></param>
        /// <param name="getValue"></param>
        /// <returns></returns>
        protected object GetFromCache(string name, GetValueHandler getValue)
        {
            object obj;

            if (_cache.TryGetValue(name, out obj))
            {
                return(obj);
            }

            if (getValue != null)
            {
                obj = getValue.Invoke();

                _cache[name] = obj;
            }

            return(obj);
        }
 public virtual string GetValue(object row)
 {
     return(GetValueHandler?.Invoke(row) ?? (row as ExportDataRow)?.GetValue(ColumnName));
 }
        /// <summary>
        /// Get from cache
        /// </summary>
        /// <param name="name"></param>
        /// <param name="getValue"></param>
        /// <returns></returns>
        protected object GetFromCache(string name, GetValueHandler getValue)
        {
            object obj;
            if (_cache.TryGetValue(name, out obj))
            {
                return obj;
            }

            if (getValue != null)
            {
                obj = getValue.Invoke();

                _cache[name] = obj;
            }

            return obj;
        }