title: Cannot convert type 'System.Enum' to int
body: <p><em>(OK, I'll expose the depths of my ignorance here, please be gentle)</em></p>
  
  <p><strong>Background</strong></p>
  
  <p>I've got a method which looks (a bit) like this:</p>
  
  <pre><code>public void AddLink(Enum enumVal)
  {
       string identifier = m_EnumInterpreter(enumVal);
       AddLink(identifier);
  }
  </code></pre>
  
  <p>The EnumInterpreter is a Func&lt;Enum, string> that is passed in when the parent class is created.</p>
  
  <p>I'm using Enum because at this level it is 'none of my business'- I don't care which specific enum it is. The calling code just uses a (generated) enum to avoid magic strings.</p>
  
  <p><strong>Question</strong></p>
  
  <p>If the EnumInterpreter sends back an empty string, I'd like to throw an exception with the actual value of enumVal. I thought I would just be able to cast to int, but it the compiler won't have it. What am I doing wrong? (Please don't say 'everything').</p>