Необязательные параметры в приложении CNA для Windows Phone на C # - PullRequest
4 голосов
/ 26 июня 2010

Можно ли использовать дополнительные параметры (и другие чисто синтаксические функции C # 4.0) в приложениях Windows Phone XNA?

Я прочитал и услышал противоречивую информацию об этом.В расширенных настройках сборки для моего приложения языковая версия установлена ​​на C # 3.0 (для C # 4.0 в раскрывающемся списке «Языковая версия» доступно , а не ).Является ли 3.0 «официальной» версией C #, которая первоначально будет использоваться для разработки под Windows Phone?

Глупо ли я даже ожидать, что функции C # 4.0 вообще будут доступны?

Ответы [ 4 ]

4 голосов
/ 26 июня 2010

В стиле Silverlight и XNA лежит некая версия компактной платформы .NET 3.x (3.7?). Насколько Windows Phone 7 отстает от остальной части рынка, так далеко в игру маловероятно, что будет вставлен компактный каркас .NET 4.0 (afaik еще не существует) или какие-либо другие важные архитектурные изменения, необходимые для поддержки C # 4.0.

1 голос
/ 18 марта 2012

Лучшее решение: использовать перегрузку функций.

Пример (вызывает ошибки):

public void RenderRadius(SpriteBatch spriteBatch, Entity entity, float radiusOverride = -1)

...

Решение:

public void RenderRadius(SpriteBatch spriteBatch, Entity entity){ RenderRadius(spriteBatch, entity, -1); }
public void RenderRadius(SpriteBatch spriteBatch, Entity entity, float radiusOverride)

...

Супер просто. Готово.

1 голос
/ 19 мая 2011

Я обнаружил, что дополнительные параметры работают правильно в Silverlight, но не в XNA.Я использовал материал #if, чтобы обойти это в общем коде следующим образом:

#if !SILVERLIGHT
public SomeClass ( ) : this (null)
{
}

public SomeClass(object someParam)

#else

public SomeClass(object someParam = null)

#endif
{
    m_someParam = someParam;
}

Но это уродливо.Я также заметил, что диалоговое окно «Добавить ссылки» из пакета Productivity Power Pack не работает с проектами XNA, что указывает на что-то подозрительное в проектах XNA.[Как примечание, я могу развертывать и отлаживать приложения Silverlight на эмуляторе через VS, но НЕ приложения XNA]

0 голосов
/ 19 февраля 2013

Я не уверен, возможно ли использовать дополнительные параметры с Xna (у меня никогда не было желания), но вы можете делать то, о чем говорите.

http://xboxforums.create.msdn.com/forums/p/54007/515654.aspx

По приведенной выше ссылке написано установить версию языка по умолчанию, а не C # 3.0.Кажется, ты был на правильном пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...