title: Inconsistent accessibility error with the following c# code. Why?
body: <p>Whats wrong with the following c# code? Compiler reports this error:</p>
  
  <p>Inconsistent accessibility: parameter type 'ClassLibrary1.Interface1' is less accessible than method 'ClassLibrary1.Class1.Class1(ClassLibrary1.Interface1)'</p>
  
  <p>with the following code:</p>
  
  <pre><code>interface Interface1&lt;T&gt;
  {
      bool IsDataValid();
      /* Other interfaces */
  }
  
  public class Class1&lt;T&gt;
  {
      public Interface1&lt;T&gt; interface1;
  
      public Class1(Interface1&lt;T&gt; interface1)
      {
          this.interface1 = interface1;
      }
  
  }
  </code></pre>
  
  <p>I've since designed my code differently using inheritence to but if anyone could tell me what the above is wrong I'd greatly appreciate it.</p>