public override void Visit(FieldReferenceExpression node) { Type descendingEnumType = ResolveDescendingEnumType(node); _recorder.Add( ctx => { ctx.Descend(node.Field.Name); ctx.PushDescendigFieldEnumType(descendingEnumType); }); }
public override void Visit(FieldReferenceExpression node) { if (node.Target != null) { Visit(node.Target); Write(".{0}", node.Field.Name); } else { Write("{0}.{1}", node.Field.DeclaringType.FullName, node.Field.Name); } }
private static Type ResolveDescendingEnumType(FieldReferenceExpression node) { var type = ResolveType(node.Field.FieldType); if (type == null) return null; if (!type.IsEnum) return null; return type; }
public virtual void Visit (FieldReferenceExpression node) { Visit (node.Target); }
public virtual void Visit(FieldReferenceExpression node) { Visit(node.Target); }
public override void Visit (FieldReferenceExpression node) { if (node.Target != null) { Visit(node.Target); Write(".{0}", node.Field.Name); } else { Write("{0}.{1}", node.Field.DeclaringType.FullName, node.Field.Name); } }