title: Enum with methods for functionality (Combine Class / Enum)
body: <p>I may miss some sort of point here, if that's the case - please include that discussion as a part of my question :).</p>
  
  <p>This is a shortened down and renamed sample of a working code. The <code>GetTicks(…)</code> is a single sample, which could be any sort of functionality (value of <code>&gt; 0 &lt; 9</code> should return a specific Enum a.so).</p>
  
  <pre><code>public static class Something
  {
      public enum TypeOf : short
      {
          Minute = 2, Hour = 3, Day = 4, …
      }
  
      public static long GetTicks(Something.TypeOf someEnum)
      {
          long ticks = 0;
          switch (someEnum)
          {
              case Something.TypeOf.Minute:
                  ticks = TimeSpan.TicksPerMinute;
                  break;
              case Something.TypeOf.Hour:
                  ticks = TimeSpan.TicksPerHour;
                  break;
           ....
          }
          return ticks;
      }
  }
  
  // This class is called from anywhere in the system.
  public static void SomeMethod(string dodo, object o, Something.TypeOf period)
  {
      // With the design above
      long ticks = Something.GetTicks(period);
  
      // Traditional, if there was a simple enum
      if (period == Something.Day)
          ticks = TimeSpan.FromDays(1).Ticks;
      else if (period == Something.Hour)
          ticks = TimeSpan.FromHours(1).Ticks;
  }
  </code></pre>
  
  <p>The idea is to collect functionality that concerns an <code>enum</code>, near as possible to the <code>enum</code> itself. The <code>enum</code> is the reason function. Also, I find it easy and natural to look for such functionality near the <code>enum</code>. Also, it's easy to modify or extend.</p>
  
  <p>The drawback I have is that I have to state the <code>enum</code> more explicit, like <code>Something.TypeOf</code>. The design may look non-standard? And would it apply, if the <code>enum</code> was for internal use in the class.</p>
  
  <p>How would you do this more nicely? 
  I tried <code>abstract</code>, base inheritance, <code>partial</code>. None of them seem to apply.</p>