It seems to me that explicit is used when you want to force your API clients to use a cast when dealing with different types. So lets say that I have:
public static implicit operator Foo(Bar bar) {...} and I also have a method called
public Foo morph(Foo foo) {...}
If I was ever to use my morph method with a Bar, I could issue the call like:
Bar bee = new Bee(); Foo faa = morph(bee);
And the compiler would be happy. If I was to change implicit for explicit in the operator's declaration, the way of calling the method would be:
Foo faa = morph((Foo) bee); // with explicit cast
Is this it, or is there more to it than this? I also am aware that this isn't really a "mono" question per se, but I thought some of you would be willing to shed some light on the topic... :-)
Thanks!
// David
_______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
