title: How to associate constants with an interface in C#?
body: <p>Some languages let you associate a constant with an interface:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/q/9700081/49942">A Java example</a></li>
  <li><a href="https://stackoverflow.com/q/5350672/49942">A PhP example</a></li>
  </ul>
  
  <p>The W3C abstract interfaces do the same, for example:</p>
  
  <pre><code>// Introduced in DOM Level 2:
  interface CSSValue {
  
    // UnitTypes
    const unsigned short      CSS_INHERIT                    = 0;
    const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
    const unsigned short      CSS_VALUE_LIST                 = 2;
    const unsigned short      CSS_CUSTOM                     = 3;
  
    attribute DOMString       cssText;
    attribute unsigned short  cssValueType;
  };
  </code></pre>
  
  <p>I want to define this interface such that it can be called from C#.</p>
  
  <p>Apparently C# cannot define a constant associated with an interface.</p>
  
  <ul>
  <li>What is the usual way to translate such an interface to C#?</li>
  <li>Are there any 'canonical' C# bindings for the DOM interfaces?</li>
  <li>Although C# cannot, is there another .NET language which can define constants associated with an interface?</li>
  </ul>