[Закрываются] новые замечательные функции C# 4.0

Просто Java предполагает, что любая строка кода может генерировать общий Exception или Throwable, т.е. OutOfMemoryException, который является Error, а не Exception. То же самое относится к NPE.

IOException является конкретным исключением, которое может быть выбрано только управляемым кодом, поэтому, если у вас нет вызовов ввода-вывода в вашем блоке catch, ваш компилятор не имеет шансов

Просто, чтобы сравнить с C # world, в C # такой код будет скомпилирован, но будет концептуальной ошибкой, так как если вы не сделаете ничего, что вы не достигнете блока catch. Инструмент, такой как ReSharper, может предупредить вас об этом.

28
задан 3 revs, 2 users 100% 15 September 2009 в 14:58
поделиться

7 ответов

Динамический материал звучит прохладным , если Вам нужен он , но я не ожидаю использовать его очень часто.

универсальное различие для делегатов и интерфейсов подобно - отсутствие различия является головной болью в данный момент, но многие места, где это - боль, не будут покрыты ограниченным различием, доступным в C# 4.

функции COM особенно не интересуют меня - я действительно должен надеть больше дескриптора, каковы они все же.

Дополнительные и именованные параметры могли иметь большое значение при создании неизменных типов: это включает синтаксис как:

Person p = new Person (name: "Jon", age: 32);

, не имея гигантских комбинаций перегрузок конструктора. Я предпочел бы немного больше поддержки записи неизменных типов в форме автоматически реализованных свойств только для чтения, но я не ожидаю, что мы получим тех. (Они, конечно, не находятся в предложенном списке функций в данный момент.)

я лично на самом деле более интересуюсь несколькими платформа функции.NET 4.0 - в особенности , контракты и кода параллельны расширениям .

29
ответ дан Jon Skeet 28 November 2019 в 02:37
поделиться

Значения по умолчанию параметра метода:

public void MyMethod1(string value1 = "test", int num1 = 10, double num2 = 12.2)
{
  //...
}

Также, возможно, анонимные типы возврата:

public var MyMethod2()
{
  // ..
}
17
ответ дан CMS 28 November 2019 в 02:37
поделиться

IDynamicObject, связующее звено позади dynamic, позволяет интерпретацию вызова во времени выполнения.

Это интересно для по сути невведенных сценариев, таких как REST, XML, COM, DataSet, динамические языки и многие другие. Это - реализация динамическая отправка созданный сверху Динамическое время выполнения языка (DLR) .

Вместо громоздкой отражательной семантики, Вы точка в [1 110] переменные, объявленные как dynamic. Предположите работать с объектами JavaScript от Silverlight:

dynamic obj = GetScriptObject();

HtmlPage.Window.Alert(obj.someProperty);

Весь синтаксис C# поддерживается (я верю):

HtmlPage.Window.Alert(obj.someMethod() + obj.items[0]);

само Отражение выглядит намного более чистым:

public void WriteSomePropertyValue(object target)
{
    Console.WriteLine((target as dynamic).SomeProperty);
}

public void WriteSomeMethodValue(object target, int arg1, string arg2)
{
    Console.WriteLine((target as dynamic).SomeMethod(arg1, arg2));
}

dynamic другой инструмент в инструментарии. Это не изменяет помехи по сравнению с динамическими дебатами, это просто упрощает трение.

9
ответ дан Bryan Watts 28 November 2019 в 02:37
поделиться

динамическое ключевое слово похоже на него, может устранить разрыв между динамическими языками как IronRuby или IronPython вполне приятно, который, вероятно, поможет его принятию в монокультуре Microsoft..., которая волнует меня.

, В то время как я заинтригован им, я также волнуюсь, что это злоупотребится, как Дженерики и LINQ, SQLCLR, и т.д.:)

2
ответ дан just somebody 28 November 2019 в 02:37
поделиться
9
ответ дан 28 November 2019 в 02:37
поделиться

Enhanced support for Expression Trees!

3
ответ дан 28 November 2019 в 02:37
поделиться

Не строго C#, но так как .NET помечен здесь, это хорошая ссылка на BCL изменения.

Обратите внимание на себя: Должен переименовать мой метод расширения Stopwatch.Restart() до выхода 4.0 :).

3
ответ дан 28 November 2019 в 02:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: