예제 #1
0
        public static PathPropertyExpression FromPath(object obj, string path, bool bindOnValidation)
        {
            if (obj == null)
                throw new ArgumentNullException("obj");
            if (path == null)
                throw new ArgumentNullException("path");

            var pathParts = path.Split('.');
            var propertyExpressionParts = new List<PropertyExpressionPart>(pathParts.Length);
            PathPropertyExpressionPart nextPart = null;

            for (var i = pathParts.Length - 1; i >= 0; --i)
            {
                var part = new PathPropertyExpressionPart(nextPart, pathParts[i], bindOnValidation);
                nextPart = part;
                propertyExpressionParts.Insert(0, part);
            }

            return new PathPropertyExpression(obj, propertyExpressionParts);
        }
예제 #2
0
        public static PathPropertyExpression FromPath(object obj, string path, bool bindOnValidation)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            if (path == null)
            {
                throw new ArgumentNullException("path");
            }

            var pathParts = path.Split('.');
            var propertyExpressionParts         = new List <PropertyExpressionPart>(pathParts.Length);
            PathPropertyExpressionPart nextPart = null;

            for (var i = pathParts.Length - 1; i >= 0; --i)
            {
                var part = new PathPropertyExpressionPart(nextPart, pathParts[i], bindOnValidation);
                nextPart = part;
                propertyExpressionParts.Insert(0, part);
            }

            return(new PathPropertyExpression(obj, propertyExpressionParts));
        }
예제 #3
0
 public PathPropertyExpressionPart(PathPropertyExpressionPart nextPart, string pathPart, bool bindOnValidation)
     : base(nextPart, bindOnValidation)
 {
     Debug.Assert(pathPart != null);
     _pathPart = pathPart;
 }
예제 #4
0
 public PathPropertyExpressionPart(PathPropertyExpressionPart nextPart, string pathPart, bool bindOnValidation)
     : base(nextPart, bindOnValidation)
 {
     Debug.Assert(pathPart != null);
     _pathPart = pathPart;
 }