protected abstract void OnPostProcess(IStringSink sink, ICaptorState captorState, Object childEnvironment);
protected abstract Object OnPreProcess(IStringSink sink, ICaptorState captorState);
public Object PreProcess(ICaptorState captorState) { m_baseSink = (IStringSink)captorState.Environment; m_currentPosition = captorState.Capture.Begin; m_baseSink.BeginAppend(captorState.Capture, m_id); return this; }
public Object PreProcess(ICaptorState captorState) { IStringSink sink = (IStringSink)captorState.Environment; m_baseSink = sink; m_baseSink.BeginAppend(captorState.Capture, m_id); return this; }
/// <summary> /// Initializes a new instance of the <see cref="Logger"/> class. /// </summary> /// <param name="source">The source.</param> /// <param name="sink">The sink.</param> public Logger(IStringSource source, IStringSink sink) { Source = source; Sink = sink; Source.NewLineSourced += (sourceObject, input) => sink?.Print(input); }