title: How to access values of a concrete interface implementation, when using the interface as a generic parameter to a method
body: <p>I am trying to implement some generic models for a project, where I need each model to hold a value type of ICountryInformation. This interface will have different values depending on which country is implemented.</p>
  <p>However, what I struggle with is how to actually use this in the right way. For instance, given a method:</p>
  <pre><code>DoSomething(ICountryInformation info) 
  {
  }
  </code></pre>
  <p>Say I have parsed a concrete implementation of ICountryInformation called <code>GermanyInformation</code> then I want to be able to fetch the information in relation to that concrete instance of ICountryInformation within my <code>DoSomething()</code> method.</p>
  <p>But I can't seem to figure out how I can work around the fact that ICountryInformation do not have the concrete values of the GermanyInformation class which implements it.</p>
  <p>How can I access the values of GermanyInformation, when it is parsed as an ICountryInformation beside actually having to cast it to a value inside the method? Is it even possible?</p>