Beispiel #1
0
        private static bool SubjectIsCapturedInstance(MemberExpression memberExpression)
        {
            if (memberExpression.Expression.NodeType != ExpressionType.Constant)
            {
                return(false);
            }

            var subjectType = ((ConstantExpression)memberExpression.Expression).Type;

            return(subjectType == memberExpression.Member.DeclaringType);
        }
Beispiel #2
0
 private static string GetInstanceMemberSubject(MemberExpression memberExpression, TranslationContext context)
 {
     return(SubjectIsCapturedInstance(memberExpression)
         ? null
         : context.Translate(memberExpression.Expression));
 }
Beispiel #3
0
 private static string GetSubject(MemberExpression memberExpression, TranslationContext context)
 {
     return((memberExpression.Expression != null)
         ? GetInstanceMemberSubject(memberExpression, context)
         : memberExpression.Member.DeclaringType.GetFriendlyName());
 }