public override void SetValue(ELContext context, object @base, object property, object value)
        {
            if ((@base == null) || (GetCommonPropertyType(context, @base) == null))
            {
                return;
            }

            var propertyName = property.ToString();

            try
            {
                ReflectUtil.Invoke(@base, WriteMethodName, new[] { propertyName, value });
                context.PropertyResolved = true;
            }
            catch (System.Exception e)
            {
                throw new ELException(e);
            }
        }
        public override object GetValue(ELContext context, object @base, object property)
        {
            if ((@base == null) || (GetCommonPropertyType(context, @base) == null))
            {
                return(null);
            }

            var propertyName = property.ToString();

            try
            {
                var value = ReflectUtil.Invoke(@base, ReadMethodName, new object[] { propertyName });
                context.PropertyResolved = true;
                return(value);
            }
            catch (System.Exception e)
            {
                throw new ELException(e);
            }
        }