public IReader CreateOverride(Action <OverrideIReader> o)
        {
            OverrideIReader ov = new OverrideIReader(this);

            o(ov);
            return(new Reader(this, ov));
        }
 public Reader()
 {
     _o = new OverrideIReader();
     _o.SettablePropertyByOverride = new List <string>();
     _o.TheFunc      = DefaultFunc;
     _o.TheAction    = DefaultAction;
     _baseReader     = this;
     _sharedProperty = "I'm one and only one...";
 }
 private Reader(Reader baseReader, OverrideIReader o)
 {
     _baseReader    = baseReader;
     _o             = o;
     NormalProperty = baseReader.NormalProperty;
 }
 public Reader()
 {
     _o = new OverrideIReader();
     _o.SettablePropertyByOverride = new List<string>();
     _o.TheFunc = DefaultFunc;
     _o.TheAction = DefaultAction;
     _baseReader = this;
     _sharedProperty = "I'm one and only one...";
 }
 public IReader CreateOverride( Action<OverrideIReader> o )
 {
     OverrideIReader ov = new OverrideIReader( this );
     o( ov );
     return new Reader( this, ov );
 }
 private Reader( Reader baseReader, OverrideIReader o )
 {
     _baseReader = baseReader;
     _o = o;
     NormalProperty = baseReader.NormalProperty;
 }