public override object ResolveValue(ConditionParameter param, object dataContext)
        {
            if (dataContext == null)
            {
                return null;
            }

            return _property.GetValue(dataContext, null);
        }
        public override object ResolveValue(ConditionParameter param, object dataContext)
        {
            var value = dataContext;
            foreach (var resolver in _resolvers)
            {
                value = resolver.ResolveValue(param, value);
                if (value == null)
                {
                    break;
                }
            }

            return value;
        }
 public override object ResolveValue(ConditionParameter param, object dataContext)
 {
     return _resolveValue(param, dataContext);
 }
 public override object ResolveValue(ConditionParameter param, object dataContext)
 {
     var referenceResolver = EngineContext.Current.Resolve(_referenceResolverType) as IReferenceResolver;
     return referenceResolver.Resolve(_referencingType, dataContext);
 }
 /// <summary>
 /// Resolve the parameter value of the specified parameter from the context object.
 /// </summary>
 /// <param name="param">The parameter to resolve value.</param>
 /// <param name="dataContext">The context object.</param>
 /// <returns>The value of the parameter.</returns>
 public abstract object ResolveValue(ConditionParameter param, object dataContext);