title: Why does IValidatableObject method Validate() have a parameter for validationContext?
body: <p>In ASP.NET MVC I have the ability to have a model inherit from IValidatableObject, in which case I must implement <code>IEnumerable&lt;ValidationResult&gt; Validate(ValidationContext validationContext)</code></p>
  
  <p>Why does this method have the parameter validationContext?  I can refer to members using keyword 'this'?  Is there a benefit to using validationContext?</p>