2013-04-05 84 views
5

为什么在C#中做到这一点的时候......VB.NET VS C#:匿名类型和智能

var x = new { Name = "aaa" };

...我可以智能感知得到.Name,但是当我这样做是VB。 NET ...

Dim x = New With {.Name = "aaa"}

...我得到.Name没有intellisene?

回答

2

在这里回答我自己的问题。在VB.NET中,你必须使用模块级别option infer on

我打算在我找出问题后才删除这个问题,但是1)我不能,因为这个问题已经有了答案,2)我确信这对别人会有帮助。

快乐的推理。

6

这听起来对我来说是暂时的情况。因为当我尝试,

Dim x = New With {.Name = "aaa"} 

它显示

enter image description here

也考虑Option Infer Statement

允许在声明变量使用局部类型推断。

+2

嗯......这对你有用的事实促使我研究模块级别的开关。看来你需要使用'选项推断'。 – oscilatingcretin 2013-04-05 12:58:02

+0

@Soner,OP的评论似乎比“适合我”的答案更有帮助。 ;)你应该考虑在你的答案中加入['option infer on on](http://msdn.microsoft.com/en-us/library/bb384665.aspx)。 – 2013-04-05 14:48:42

+1

我实际上会将它作为我的问题的答案发布,当我接近它时。 – oscilatingcretin 2013-04-05 16:08:35