即使您没有在顶部包含必要的using
声明,Visual Studio/intellisense如何知道如何处理声明为var
的变量?var'没有使用someNamespace'的关键字
例如,我有不同的命名空间 定义的类MyDomainObject
如果我没有在文件中声明using TheOtherNameSpace;
下面的代码不会编译:
private void Foo()
{
MyDomainObject myObj = new MyDomainObject();
// Doesn't know what this class is
}
但是,如果使用var
var myObj = new MyDomainObject();
这会编译,intellisense确切知道我能用它做什么。
那么如何知道没有using
的类型?
(正如顺便说一句,如果它知道没有using
,为什么我们需要using
s的一切?!)
你能在这两种情况下发布程序中的实际代码吗?我怀疑你真的有一个名为Foo的方法和一个名为MyDomainObject的类,也许真正的代码可以揭示它。 – 2010-05-07 14:36:22
对不起,对我无效......它不会编译在任何情况下 – tanascius 2010-05-07 14:36:41
请参阅Jon Skeet对我在真实代码中遇到的情况的回答 – RichK 2010-05-07 14:48:47