Casting custom types
<p>I'm working on a custom struct and I would like to give it the ability to implicitly be created from another type.</p>

<p>Say I have two struct types. Color and ColorX, where Color is a struct already in the framework that I cannot change.</p>

<p>Using implicit operator, to be able to say for example.</p>

<pre><code>Color C;
ColorX CX;
CX = new ColorX();
C = CX;
</code></pre>

<p>However, I would like to be able to do it the other way around as well. Either by directly setting it, or by making a cast. Being able to do both would be gold. For example.</p>

<pre><code>C = new Color();
CX = C;
</code></pre>

<p>or cast it like so:</p>

<pre><code>CX = (ColorX)C;
</code></pre>

<p>Consider all the other useful operators in C#, I'm sure there is a way to do this, I just can't find the syntax.</p>

<p>Any help is greatly appreciated! Thank you very much.</p>
