Visual Studio 11 CTP3 错误?
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
}
}
Visual Studio 11 Preview bugs?
I tryed to compile following examples and receive unexpected compilation errors.
Example 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
}
Example 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
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于
在 VS 2010 中无法编译,我认为示例 2 不是一个错误。或者如果是的话,它与
async
无关。奇怪的是,Resharper 并没有将其标记为错误并且
确实工作。
Since
doesn't compile in VS 2010, I think Example 2 is not a bug. Or if it is, it's not related to
async
.Curiously, Resharper doesn't mark it as an error and
does work.