System.Linq.Dynamic.ExpressionParser.TryParseMemberAccess C# (CSharp) Method

TryParseMemberAccess() protected method

protected TryParseMemberAccess ( Type type, Expression instance, TokenId nextToken, int errorPos, string name ) : Try
type Type
instance Expression
nextToken TokenId
errorPos int
name string
return Try
		protected virtual Try<Expression> TryParseMemberAccess(Type type, Expression instance, TokenId nextToken, int errorPos, string name)
		{
			if (nextToken == TokenId.OpenParen)
			{
				return GenerateMethodCall(type, instance, errorPos, name, Lazy.Create(ParseArgumentList))
					.ToTry(() => ParseError(errorPos, Res.NoApplicableMethod(name, GetTypeName(type))));
			}

			return GenerateMemberAccess(type, instance, errorPos, name)
				.OrElse(() => GenerateMethodCall(type, instance, errorPos, name, Lazy.Create(() => new Expression[0])))
				.OrElse(() => GenerateNullableMethodCall(type, instance, errorPos, name, nextToken))
				.ToTry(() => ParseError(errorPos, Res.UnknownPropertyOrField(name, GetTypeName(type))));
		}
ExpressionParser