高层问题在这里:
今天,我花了很多时间来学习一些基本的高级概念,例如API,静态和动态库,DLL和C#中的封送处理。获得所有这些知识使我想到了一个非常基本的问题,并且可能表明我对这些概念的理解存在漏洞:
我知道的:
我不明白的是:
我的印象是,实际方法是在DLL中定义的。当我给它们提供的只是一个名称空间时,我的程序如何找到DLL中定义的实际功能?在我看来,顶部使用“使用XYZ.dll”比“使用XYZ_namespace”更直观。
非常感谢您帮助我填补这里的空白。
编辑:修改后的帖子专门针对C#。
编辑2:对于其他想知道他们的C#应用程序实际上如何通过“使用namespaceX”获得可用类型的人,这是一个很好的资源(除了以下有用的帖子):http://broadcast.oreilly。 com / 2010/07 / understanding-c-namespaces-and.html。
基本上,您要使用的类型驻留在库中,并且必须将Visual Studio设置为引用这些库,以便可以在代码中“使用”其名称空间。
在C#中,DLL(也称为程序集)包含class
es(和其他类型)。这些类型通常具有很长的全名,例如System.Collections.Generic.List<T>
。这些类型可以包含方法。
在您所在的References
区域中,您有对程序集的引用(这是.csproj文件的一部分)。在.cs文件中,不需要包含任何文件using
来引用此DLL,因为您的.csproj文件中已引用了该DLL。
如果包含这样的行using System.Collections.Generic;
,则告诉C#编译器System.Collections.Generic.List<T>
在键入时寻找List<T>
。但是,您不需要那样做:您只需键入即可System.Collections.Generic.List<T>
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句