Visual Studio 11 CTP3 ошибки? - PullRequest
       24

Visual Studio 11 CTP3 ошибки?

0 голосов
/ 05 января 2012

Ошибки предварительного просмотра Visual Studio 11?

Я попытался скомпилировать следующие примеры и получить неожиданные ошибки компиляции.

Пример 1:

async = System.Threading.Tasks.Task;
partial = System.Threading.Tasks.Task;

class C
{

    async async async(async async) { } // ok

    async partial async(async async) { } // error CS1002: ; expected
}

Пример 2:

using System.Threading.Tasks;

class C
{
    delegate Task<dynamic> ady(dynamic i);

    delegate Task adv();

    void f()
    {

        ady d11 = new ady(async j => await j); // ok

        ady d12 = new ady((async j => await j)); // error CS0149: Method name expected

        ady d21 = new ady(async (j) => await j); // ok

        ady d22 = new ady((async (j) => await j)); // error CS0149: Method name expected

        adv d31 = new adv(async () => { dynamic d = 0; await d; }); // ok

        adv d32 = new adv((async () => { dynamic d = 0; await d; })); // error CS0149: Method name expected

        adv d41 = new adv(async delegate { }); // ok

        adv d42 = new adv((async delegate { })); // error CS0149: Method name expected

        adv d61 = new adv(async delegate { }); // ok

        adv d62 = new adv((async delegate { })); // error CS0149: Method name expected

        ady d71 = new ady(async delegate(dynamic d) { return await d; }); // ok

        ady d72 = new ady((async delegate(dynamic d) { return await d; })); // error CS0149: Method name expected
    }
}

1 Ответ

1 голос
/ 06 января 2012

Поскольку

var a = new Action((() => {}));

не компилируется в VS 2010, я думаю, что Пример 2 не является ошибкой.Или, если это так, это не относится к async.

Любопытно, что Resharper не помечает это как ошибку и

Action a = (() => {});

работает .

...