Class FieldNameExtractor

Assembly: redb.Core.dll

Extracts field names from LINQ Expression tree.
Used for determining which fields to include in PVT.
Supports: simple fields, nested fields, Dictionary indexers, ContainsKey.

public class FieldNameExtractor : ExpressionVisitor

Inheritance

ObjectExpressionVisitorFieldNameExtractor

Properties

FieldNames

Collected field names.

public HashSet<string> FieldNames { get; }

Methods

Extract<T>(Expression<Func<T, bool>>)

Extracts field names from expression.

public static HashSet<string> Extract<T>(Expression<Func<T, bool>> expression)

VisitMember(MemberExpression)

Visits member access (e.g., p.Name, p.Address.City).

protected override Expression VisitMember(MemberExpression node)

VisitMethodCall(MethodCallExpression)

Visits method calls (Dictionary indexer, ContainsKey, string methods).

protected override Expression VisitMethodCall(MethodCallExpression node)