title: Inconsistent Accessibility: Parameter type is less accessible than method
body: <p>I'm trying to pass an object (a reference to the currently logged on user, basically) between two forms.  At the moment, I have something along these lines in the login form:</p>
  
  <pre><code>private ACTInterface oActInterface;
  
  public void button1_Click(object sender, EventArgs e)
      {
          oActInterface = new ACTInterface(@"\\actserver\Database\Premier.pad",this.textUser.Text,this.textPass.Text);
  
          if (oActInterface.checkLoggedIn())
          {
              //user has authed against ACT, so we can carry on
              clients oClientForm = new clients(oActInterface);
              this.Hide();
              oClientForm.Show();
          }
          else...
  </code></pre>
  
  <p>on the next form (clients), I have:</p>
  
  <pre><code>public partial class clients : Form
  {
      private ACTInterface oActInt {get; set;}
  
      public clients(ACTInterface _oActInt)
  </code></pre>
  
  <p>...which results in me getting:</p>
  
  <pre><code>Error   1   Inconsistent accessibility: 
  parameter type 'support.ACTInterface' is less accessible than method    
  'support.clients.clients(support.ACTInterface)'  
  c:\work\net\backup\support\support\clients.cs   20  16  support
  </code></pre>
  
  <p>I don't really understand what the problem is - both fields are private, and accessed by the relevant public method from the form.  Googling doesn't really help, as it just points towards one element being public and the other private, which isn't the case here.</p>
  
  <p>Anybody help?</p>