Спасибо Konrad, это - хороший ответ (+1), но только подробно остановиться на нем.
Позволяют нам притвориться, что C# имеет функцию явного конструктора:
//your example
var x = new Foo( 1 );
//becomes
var x = Foo.ctor( 1 );
//your problem is valid because this would be
var x = Foo<T>.ctor<int>( 1 );
//and T can't be inferred
Вы совершенно правы, что первый конструктор не может быть выведен.
Теперь позволяют нам вернуться к классу
class Foo<T>
{
//<T> can't mean anything else in this context
public Foo(T x) { }
}
//this would now throw an exception unless the
//typeparam matches the parameter
var x = Foo<int>.ctor( 1 );
//so why wouldn't this work?
var x = Foo.ctor( 1 );
, Конечно, если я включаю Вашего конструктора назад (с его альтернативным типом), у нас есть неоднозначный вызов - точно, как будто нормальная перегрузка метода не могла быть разрешена.
Я считаю, что издатели игр должны были работать напрямую с Apple над «классическими» приложениями для iPod - вот статья с разработчиком EA.
Наши талантливые команды здесь, в EA Сначала мобильные устройства разрабатывают игры, а затем мы работаем с Apple над окончательной интеграцией и тестированием iPod. Чтобы подготовиться к запуску, некоторые из нас практически жили в Купертино. Нам даже пришлось поддерживать такой же уровень секретности, пока мы были в штаб-квартире Apple.
Согласно Википедии, нет общедоступных iPod SDK. *
* Я знаю, что Википедия не самая лучшая надежный источник, но, похоже, у него есть ответ
Насколько я знаю, есть фирмы, у которых есть лицензия на создание приложений для iPod (Nano). Но для частных лиц это не так. Однако iPod (nano) - не самая интересная платформа. Элементы управления очень ограничены, и я слышал, что тактовая частота не так уж высока, поэтому большие приложения не будут работать так хорошо.