К сожалению, не ковариантные типы возврата не поддерживаются в C# для переопределения метода. (Так же контравариантные типы параметра.)
при реализации интерфейса можно реализовать его явно со "слабой" версией и также предоставить общедоступной версии более сильный контракт. Для простого переопределения родительского класса у Вас нет этой роскоши, я боюсь: (
(РЕДАКТИРОВАНИЕ: Marc имеет разумное решение - хотя это довольно ужасно, и сокрытие метода обычно является плохой вещью для удобочитаемости. Никакое предназначенное преступление, Marc;)
я верю , это - на самом деле ограничение CLR, не только язык один - но и я мог быть неправым.
(Как историю, Java (язык) имел то же ограничение до 1.5 - но это получило ковариантность в то же время, что и дженерики.)
parseInt("09",10);
здесь возвращает 9.
Это странно.
alert(parseInt("09")); // shows 9. (tested with Opera 10)