public override void Greet(Person other) { if (other == null) throw new ArgumentNullException("other"); if (other.Name == _name) { // Do nothing (I'm not greeting myself) return; } Speak(String.Format("Hello {0}, care for some {1}?", other.Name, _stall.Type)); }
public virtual void Greet(Person other) { if (other == null) throw new ArgumentNullException("other"); if (other == this) { // Hey, I'm not greeting myself! return; } Speak(String.Format("Hello {0}", other.Name)); other.Greeted(this); }
public override void Greeted(Person greeter) { if (greeter == null) throw new ArgumentNullException("greeter"); Speak(String.Format("Hi {0}, please oblige the law!", greeter.Name)); }
public virtual void Greeted(Person greeter) { if (greeter == null) throw new ArgumentNullException("greeter"); Speak(String.Format("Hi {0}, lovely day isn't it?", greeter.Name)); }