title: Is it possible to expose a C# Enum to COM Interop callers, and if so, how?
body: <p>I have a managed assembly that gets called via COM Interop. Like a VBScript client, a Perl client, and so on.  </p>
  
  <p>The classes are decorated with </p>
  
  <pre><code>[ClassInterface(ClassInterfaceType.AutoDual)]
  [GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000E")]
  [ComVisible(true)]
  </code></pre>
  
  <p>Then of course I do the regasm thing, and all the methods work just fine.</p>
  
  <p>But there are also enum types in the assembly. I'd like to use symbolic names COM applications, for the enum values.  </p>
  
  <p>How do I expose the enums via COM interop?  Do I just need to add these attributes?</p>
  
  <pre><code>[GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000E")]
  [ComVisible(true)]
  </code></pre>
  
  <p>And then, how do I reference those symbolic names in VBScript?  I don't see the enum types in OleView.  (Should I?)   I see all the other types in OleView.</p>