title: vb to c# ref argument
body: <p>I am currently converting a project from VB to C#. I have a <strong>Web Reference</strong> in the VB project which I have referenced in the C# project (Add Web Reference).
  The signatures are the same. The VB code looks like this:</p>
  
  <pre><code>If Not tws.StartSession(tsd) Then
      Throw New systemMonitor.internalEx.securityEx("Failed to initiate a TROPOS session")
  End If
  </code></pre>
  
  <p>I have tried to covert that across as this:</p>
  
  <pre><code>// Start our session
  if (!this._service.StartSession(this._details))
      throw new Exception("The TROPOS session failed to start.");
  </code></pre>
  
  <p>The problem I have, is that it won't compile and comes up with the error:</p>
  
  <blockquote>
    <p>argument 1 must be passed with the 'ref' keyword</p>
  </blockquote>
  
  <p>so I changed it to this:</p>
  
  <pre><code>// Start our session
  if (!this._service.StartSession(ref this._details))
      throw new Exception("The TROPOS session failed to start.");
  </code></pre>
  
  <p>which compiles and runs (although nothing seems to happen, but that is another issue).
  My question is simple. 
  In VB do you not have to set the <strong>ByRef</strong> keyword?</p>