title: Alternative to assignment operator overloading
body: <p>Let me start off by stating that I know the assignment operator in C# cannot be overloaded/overridden. However, if I have a class like so:</p>
  
  <pre><code>public class Time
  {
  
      private int Hour, Minute;
      public int minutes;
  
      public Time(int m)
      {
          this.minutes = m;
          this.Hour = m / 60;
          this.Minute = m % 60;
      }
  
      public Time(int hh, int mm)
      {
          this.minutes = 60 * hh + mm;
          this.Hour = hh;
          this.Minute = mm;
      } 
  
      public static explicit operator Time(int i1)
      {
          return new Time(i1);
      } 
  
  }
  </code></pre>
  
  <p>Two things:</p>
  
  <p>1) Is the explicit conversion overload at the bottom necessary?</p>
  
  <p>2) I want to do</p>
  
  <pre><code>Time newTime = 510;
  </code></pre>
  
  <p>and have <em>Hour</em> and <em>Minute</em> reflect the new <em>minutes</em>. Without making another object, is the only way to make a function like so:</p>
  
  <pre><code>    public void changeminutes(int m)
      {
          this.minutes = m;
          this.Hour = m / 60;
          this.Minute = m % 60;
      }
  </code></pre>
  
  <p>and do this:</p>
  
  <pre><code>Time newTime = new Time();
  newTime.changeminutes(510);
  </code></pre>
  
  <p>edit:</p>
  
  <p>I probably should have mentioned that I'm still in learning C#. A lot of your suggestions are flying over my head. Sorry.</p>
  
  <p>next edit :
  This isn't necessarily about time. I just used it to illustrate my example.</p>