title: When to use callbacks instead of events in c#?
body: <p>When would you favour using a callback (i.e, passing in a Func or Action), as opposed to exposing and using an event?</p>
  <p><strong>UPDATE</strong></p>
  <p>What motivated this question was the following problem:</p>
  <blockquote>
  <p>I have a ThingsHandler class, which
  can be associated with a ThingEditor.
  The ThingsHandler handles a list of
  Things, knows their order, which one is 'current', when new
  ones are added or deleted etc.</p>
  <p>The ThingEditors can just modify a single
  thing.</p>
  <p>The ThingsHandler needs to alert
  the ThingEditor when the user selects
  a new Thing to edit, and the
  ThingEditor needs to alert the
  ThingsHandler when the user says
  'done'.</p>
  </blockquote>
  <p>What bothers me is having these two classes holding references to each other - though I guess that's inevitable - or binding to events in both directions. I wondered if using a callback in one direction was 'cleaner'.</p>
  <p>I suspect there is a design pattern for this.</p>