title: Define a method with out argument
body: <pre><code>public  class ArgParseHelper
      {
          /// &lt;summary&gt;
          /// Constant for GuardMode "Report"
          /// &lt;/summary&gt;
          private const string c_ModeReport = "REPORT";
  
          /// &lt;summary&gt;
          /// Constant for GuardMode "Enforce"
          /// &lt;/summary&gt;
          private const string c_ModeEnforce = "ENFORCE";
  
          public static bool TryGetSecurityGuardModeValue(string securityMode, out SecurityGuardMode securityGuardMode)
          {
              securityGuardMode = securityGuardMode = SecurityGuardMode.Enforce;
              if (c_ModeEnforce.Equals(securityMode, StringComparison.OrdinalIgnoreCase))
              {
                  return true;
              }
              else if (c_ModeReport.Equals(securityMode, StringComparison.OrdinalIgnoreCase))
              {
                  securityGuardMode = SecurityGuardMode.Report;
                  return true;
              }
              return false;
          }
      }
  </code></pre>
  
  <p>I call this method as following :</p>
  
  <pre><code>SecurityGuardMode  guardModeService;
  ArgParseHelper m_GuardArgParseHelper = new GuardArgParseHelper();
  if (m_GuardArgParseHelper.TryGetSecurityGuardModeValue(value, out guardModeService))
  
  //&lt;-compilation error "`cannot be accessed with an instance reference; qualify it with a type name instead`"
              {
  
              }
  </code></pre>
  
  <p>what is wrong?</p>