I have a generics class that I used to write data to IsolatedStorage.
I can use an static implicit operator T()
to convert from my Generic class to the
EDIT:
If you want to be able to change the value of T
in your class, I would recommend exposing it as a property like:
T Value { get; set; }
That will allow you to change the value, instead of the behavior of the implicit operator returning an entirely new instance of the class.
You can and can't using implicit operators. Doing something like
public static implicit operator int(MyType m)
public static implicit operator MyType(int m)
will implicitly convert from MyType
to int
and from int
to MyType
respectively. However, you're right, since they are static, the int
to MyType
specifically will have to create a new instance of MyType
and return that.
So this code:
MyClass foo = new MyClass(187.0);
double t = 0.2d;
foo = t;
wouldn't replace the value in foo
with t
, the implicit operator would return an entirely new MyClass
from t
and assign that to Foo
.