C# C“在VS2005中:列出的组件”;参考资料;项目中的文件夹

C# C“在VS2005中:列出的组件”;参考资料;项目中的文件夹,c#,.net,visual-studio-2005,C#,.net,Visual Studio 2005,如果你有 using XXXX.YYYY; 在C#文件的顶部,是否需要将该程序集包括在项目的引用部分中 有什么区别 您不会在CS文件的顶部使用XXXX.dll编写 我相信你指的是使用NamespaceX这是一种将类分类为不同逻辑分区的方法。因此,我将所有数据访问类分组到一个名为MyProject.DataAccess的命名空间中。程序集可以包含属于多个命名空间的类 在这种情况下,如果要将程序集X中定义的某些类型/类与该名称空间一起使用,则需要引用程序集X。使用语句说明要将名称空间导入到文件中,

如果你有

using XXXX.YYYY;
在C#文件的顶部,是否需要将该程序集包括在项目的引用部分中


有什么区别

您不会在CS文件的顶部使用XXXX.dll编写

我相信你指的是
使用NamespaceX这是一种将类分类为不同逻辑分区的方法。因此,我将所有数据访问类分组到一个名为MyProject.DataAccess的命名空间中。程序集可以包含属于多个命名空间的类


在这种情况下,如果要将程序集X中定义的某些类型/类与该名称空间一起使用,则需要引用程序集X。

使用
语句说明要将名称空间导入到文件中,从而为您提供快捷访问。例如,如果导入了
System.Io
命名空间,则可以编写
File.Delete(File)
而不是
System.Io.File.Delete(File)
。您要包含的命名空间应该在一个引用程序集中可用。据我所知,您不能从代码中直接引用DLL。

如果类位于当前名称空间之外,则使用“using”关键字可以避免每次都必须为其键入整个名称空间

例如,如果我有namespace
foo
并且我想在namespace
bar
中引用
MyClass
,我可以写:

bar.MyClass = new bar.MyClass();

项目的引用部分告诉编译器在当前项目之外搜索类bar.MyClass的库


因此,简而言之,您不需要放入using语句(但它通常使代码更易于阅读,键入的代码更少),但您确实需要引用的程序集。

需要添加引用,以便编译器在编译时可以在物理上定位它们

欲了解更多详情,请访问

希望这有帮助

谢谢


Madhup

可以,但是当引用的程序集名称中也有点时,会有点混乱。为什么编译器不像其他编译器那样使用“using XXX.YYY;”?我似乎在加倍引用。因为程序集中的名称空间不必与程序集名称匹配,这只是一种约定,而不是编译器强制执行的规则。此外,程序集的多个版本可以使用同一名称空间(想想NUnit或MS日志组件),因此您需要告诉编译器您引用的是哪个版本。
using bar;
...
MyClass = new MyClass();