title: Cannot access a non-shared member of a class in C#, but can in VB?
body: <p>I`m just started learning C#, used to be a VB programmer.</p>
  
  <p>In VB.NET, it is possible to access a form class method, even if this method is not declared as <strong>shared</strong>.
  In the code below, I don`t get compiler errors, and calling the method <strong>Foo</strong> inside <strong>ClassFoo</strong> works ok.</p>
  
  <pre><code>Public Class Form1
      Public Sub Foo()
          MsgBox("Test")
      End Sub
  End Class
  
  Public Class ClassFoo
      Sub Foo()
          Form1.Foo()
      End Sub
  End Class
  </code></pre>
  
  <p>Then, I tried to port the same code to C#, but I get an error: <br>
  "An object reference is required for non-static field and bla bla bla".</p>
  
  <p>Why I can access a method not shared in VB and can`t in C#?</p>