title: Is using reflection a design smell?
body: <p>I see a lot of C#, .net questions solved here using reflection. To me, a lot of them look like bending the rules at the cost of good design (OOP). Many of the solutions look unmaintenable and "scripty".</p>
  
  <p>Is using reflection a good practice in general?
  Are there things that can only be solved by reflection?</p>
  
  <p>edit:</p>
  
  <p>Please give examples where reflection is the only good solution.</p>