2009-05-20 3 views
3

Прежде всего позвольте мне сказать, что я знаю о динамике, отсутствии PIA, названных и необязательных параметрах и, наконец, ковариации и контравариантности.Что нового в C# 4 для статического типизированного парня

В моих проектах В 99% случаев мой код находится на C#, я почти никогда не занимаюсь автоматизацией Office, я не планирую использовать какой-либо динамический язык в ближайшее время, и, помимо необходимости автоматизации Office, я думаю названные и необязательные параметры неверны (и нет, перегрузки не учитываются, если у вас много перегрузок, проблема в дизайне, а не на языке).

Итак, что там для парня C# в статическом типизированном мире? Единственное, что кажется ковариантностью и контравариантностью, что звучит здорово, но я надеялся на что-то большее. Единственные биты, которые мне очень нравятся, - это параллельные расширения для Linq, но это все (и это [доступно для 3,5 as a CTP).

Почему вы вышли из-под C# 4?

+1

Мне кажется, что это должна быть Вики-страница сообщества. – overslacked

+0

преобразован в wiki –

+3

C# 4.0 был преднамеренно небольшим выпуском, поскольку новые возможности языка идут. Обратная связь мы получаем все время: «Пожалуйста, прекратите добавлять сумасшедшие новые функции, потратьте немного времени на то, чтобы у вас получилось хорошо работать со всем остальным, что вы выпускаете!» Вот что мы сделали. Все новые функции C# 4.0 направлены на то, чтобы динамические языки, статические языки и устаревшие объектные модели/интерфейсы работали более плавно. Обеспечение интероперабельности более плавное, не возбуждает, поэтому неудивительно, что вы не в восторге от этого. Наша цель - создать полезные инструменты, и полезно не всегда волнующе. –

ответ

6

Единственная вещь, которая должна быть взволнована в C# 4 с не-COM, нединамической точки зрения - это ковариация и контравариантность. Все остальное сосредоточено вокруг динамической типизации.

+1

"динамическое программирование?" Динамическое типирование кажется лучшим словом, поскольку динамическое программирование в основном связано с стратегией решения проблем: http://en.wikipedia.org/wiki/Dynamic_programming –

+0

Хороший улов - я отредактировал свой ответ. –

+0

Дополнительные параметры и именованные аргументы не связаны с динамической типизацией. –

4

Там новая контрольная карта теперь инструментарии ... да я получил ничего еще ..

12
  1. Лучше Garbage Collection

  2. новую тему Аккумулирование Двигатель

  3. Код Контракты

  4. Если вы не используете ASP.NET WebForms, вам все равно, но есть значительные улучшения там тоже.

Learning Resources for .NET 4.0 New Features

... ударил по ссылке для некоторых хороших ресурсов о некоторых новых функциях.

+1

Хороший пункт о кодовых контрактах –

+0

+1 для кодовых контрактов (не языковая функция как таковая, но достаточно близко) –

+0

Да ... Я включил функции рамки тоже. –

5

Действительно необязательные параметры по умолчанию, co/contravariance (- - преимущество Java) и ParallelFX.

+1

+1 необязательные параметры по умолчанию – kenny

+0

+1 для ParallelFX –