Alternative to assignment operator overloading
<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>
