internal StructFieldVisitor( VisitorFactory <TData> visitorFactory, PropertyInfo property, ProcessField <TData, TObj, V> process, MustVisitStatus mustVisit) : base(visitorFactory, property, process, mustVisit) { }
internal ClassVisitor( VisitorFactory <TData> visitorFactory, ProcessObject <TData, TObj> process, MustVisitStatus mustVisit) : base(mustVisit) { allFieldVisitors = new Lazy <ImmutableArray <FieldVisitor <TData, TObj> > >(() => (from property in typeof(TObj).GetProperties( BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) where property.CanRead let method = property.GetMethod where !method.MethodImplementationFlags.HasFlag(MethodImplAttributes.InternalCall) select visitorFactory.CreateFieldVisitor <TObj>(property)) .ToImmutableArray()); enabledFieldVisitors = new Lazy <ImmutableArray <FieldVisitor <TData, TObj> > >(() => allFieldVisitors.Value .Where(fieldVisitor => fieldVisitor.ShouldVisit()) .ToImmutableArray()); this.process = process; }
private FieldVisitorProcessor(MustVisitStatus mustVisit) { Process = null; MustVisit = mustVisit; }
private FieldVisitorProcessor(Delegate process) { Process = process; MustVisit = process == null ? MustVisitStatus.No : MustVisitStatus.Yes; }
private ClassVisitorProcessor(MustVisitStatus mustVisit) { Process = null; MustVisit = mustVisit; }
protected Visitor(MustVisitStatus mustVisit) { MustVisit = mustVisit; }
protected FieldVisitor(MustVisitStatus mustVisit) : base(mustVisit) { }