关于“程序集与命名空间”
<div id="cnblogs_post_body">不少.NET程序因为动态加载等需要反射技术,所以了解此技术显得非常重要。在此想给大伙儿逐一介绍一下:1)基础知识&mdash;&mdash;程序集与命名空间:
.NET中有两个最容易被忽略的东西莫过于&ldquo;程序集&rdquo;和&ldquo;命名空间&rdquo;。初学者往往容易在此地混淆,因此需要介绍一番:
所谓&ldquo;程序集&rdquo;(Assembly),可以理解成一个exe或者dll程序的&ldquo;签名档&rdquo;&mdash;&mdash;其包含了程序的版本、文件名等一系列信息。我们可以通过右键某个exe或者dll,查看此信息。例如编写了一个控制台的exe程序,右键查看属性截图如下:
http://pic002.cnblogs.com/images/2012/343864/2012082518022336.png
其中这些属性已经包含到了一个叫做AssemblyInfo.cs文件中(在C#中默认位置在于Properties文件夹下,VB.NET则需要点击&ldquo;显示全部文件&rdquo;按钮,然后从&ldquo;My Project&rdquo;中找到该文件)。或者您可以右键某个项目,属性之后切换到&ldquo;应用程序(Application)&rdquo;面板随后点击&ldquo;程序集信息(Assembly Info&hellip;&hellip;)&rdquo;即可对程序信息进行编辑。
不过值得注意的是最底下一行的&ldquo;原始文件名&rdquo;&mdash;&mdash;这个映射的是你&ldquo;应用程序&rdquo;面板中&ldquo;程序集名称&rdquo;中的名称(默认情况下&ldquo;程序集名称&rdquo;=&ldquo;根命名空间&rdquo;=&ldquo;生成的exe或者dll&rdquo;的名称,但是实际上并不对等;因此您可以修改任意一项),修改完毕以后注意以下事项:
1)程序集名称:映射&ldquo;程序集&rdquo;信息中&ldquo;原始文件名&rdquo;。
2)根命名空间:当右键项目创建一个cs代码文件之后自动的那个namespace名称就是此名称,反射经常需要使用&ldquo;根命名空间1.根命名空间2&hellip;&hellip;.根命名空间N.类&rdquo;的方式寻找到指定的类进行反射其中属性或者方法,因此值得注意的是&mdash;&mdash;默认的&ldquo;根命名空间&rdquo;也可以随意修改,和默认的那个命名空间毫无关系。
谈到&ldquo;命名空间&rdquo;大伙儿可以把它理解成一个个文件夹,而每一个class相当于里边的文件;自然文件夹可以嵌套(譬如命名空间A嵌套命名空间B),除了可以写成:
<div class="cnblogs_code">namespace A{ namespace B { }}
页:
[1]