这里的高级问题:
今天我花了很多时间在基础高级概念上进行自我教育,例如API,静态和动态库,DLL和C#中的编组.获得所有这些知识使我看起来像一个非常基本的问题,并且可能在我对这些概念的理解中表现出一个漏洞:
我知道的:
> DLL可能包含类,而这些类又包含各种类成员,如方法和字段,其中一些我可能想在我的程序中使用
>在C#中,我们在代码顶部使用关键字“using”来定义命名空间
想要加入我们的计划
我得不到的:
我的印象是实际的方法是在DLL中定义的.当我给出的所有函数都是命名空间时,我的程序如何找到DLL中定义的实际函数?在顶部“使用XYZ.dll”而不是“使用XYZ_namespace”对我来说似乎更直观.
非常感谢帮助我填补这里的空白.
编辑:修改后的帖子特定于C#.
编辑2:对于其他想知道他们的C#应用程序如何实际通过“使用namespaceX”获得的类型的人,这是一个很好的资源(除了下面的有用帖子):http://broadcast.oreilly.com/2010/07/understanding-c-namespaces-and.html.
解决方法
在C#中,DLL(也称为程序集)包含类(和其他类型).这些类型通常具有长全名,例如System.Collections.Generic.List< T>.这些类型可以包含方法.
在“引用”区域中,您有对程序集的引用(这是.csproj文件的一部分).在.cs文件中,您不需要包含任何用于引用此DLL的用法,因为它已在.csproj文件中引用.
如果包含类似于使用System.Collections.Generic;的行,则告诉C#编译器查找System.Collections.Generic.List< T>当您键入List< T>时.但是,您不需要这样做:只需键入System.Collections.Generic.List< T>.