private Reader(Reader baseReader, OverrideIReader o) { _baseReader = baseReader; _o = o; NormalProperty = baseReader.NormalProperty; }
public void PluggableFunction() { Reader r = new Reader(); Assert.That( r.TheFunc( 13 ) == 1 ); IReader r2 = r.CreateOverride( o => o.SettablePropertyByOverride = null ); IReader r3 = r.CreateOverride( o => { o.TheFunc = l => r.TheFunc( l ) * 3; o.TheAction = s => Console.WriteLine( s ); o.SettablePropertyByOverride = new List<string>(); } ); Assert.That( r2.TheFunc( 13 ) == 1 ); Assert.That( r3.TheFunc( 13 ) == 3 ); }
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; }