GlueViewOfficialPlugins.Scripting.ExpressionParser.EvaluateMemberReferenceExpression C# (CSharp) Method

EvaluateMemberReferenceExpression() private method

private EvaluateMemberReferenceExpression ( ICSharpCode memberReferenceExpression, CodeContext codeContext, ExpressionParseType parseType ) : object
memberReferenceExpression ICSharpCode
codeContext GlueView.Scripting.CodeContext
parseType ExpressionParseType
return object
        private object EvaluateMemberReferenceExpression(ICSharpCode.NRefactory.CSharp.MemberReferenceExpression memberReferenceExpression, CodeContext codeContext, ExpressionParseType parseType)
        {
            object container = EvaluateExpression(memberReferenceExpression.Target, codeContext, ExpressionParseType.GetReference);
            if (container == null)
            {
                // Couldn't get a member reference, so it could be a variable on an Element, so let's try a non-reference get
                container = EvaluateExpression(memberReferenceExpression.Target, codeContext, ExpressionParseType.Evaluate);
            }
            string memberName = memberReferenceExpression.MemberName;

            object foundValue = GetObjectFromContainerAndMemberName(container, memberName, codeContext, parseType);

            return foundValue;
        }