Zakładając, że chcesz być operacja explcit musisz napisać jawnego operatora cast tak:
public static explicit operator MyTypeOne(MyTypeTwo i)
{
// code to convert from MyTypeTwo to MyTypeOne
}
następnie można go używać tak:
MyTypeOne a = new MyTypeOne();
MyTypeTwo b = (MyTypeTwo)a;
Zastanawiam się, czy chcesz rzucić jeden typ na inny, czy też zamiast tego faktycznie chcesz dokonać konwersji. Powiedziałbym, że powinieneś unikać pisania operatorów obsady dla konwersji, jeśli chcesz tylko skorzystać z ładnej składni :)
Ogólnie, zaleca się, aby nie używać niejawnych rzutów, ponieważ pozwalają one na niezamierzony typ konwergencje. Od MSDN documentation on implicit:
Jednakże, ponieważ konwersje niejawne może nastąpić bez programatora ich określania, należy zachować ostrożność, aby uniknąć przykrych niespodzianek . W przypadku ogólne, niejawne operatory konwersji nigdy nie powinny wyrzucać wyjątków, a nigdy nie tracą informacji, aby można je było bezpiecznie używać bez znajomości programisty.