zoukankan      html  css  js  c++  java
  • Asp.net 2.0名称空间(代码目录)初探

    习惯了Asp.net1.1的每个类文件的namespace,如今Asp.net2.0来势汹汹,赶紧装了一个VS 2005 Beta2,建一个Web项目尝尝鲜,突然发现CS文件中的namespace全都不见了,不管是aspx页面的后台代码还是自己新添加的类文件,于是,一个个"?"在脑海中浮先出来---那他是如何管理各个类,怎么解决类名冲突的问题呢.....于是初探了一把:
        Asp.net2.0的代码组织方式和Asp.net1.0不相同了,在2.0中,存在一种特殊目录(代码目录,数据目录,全局资源目录,本地资源目录.......)在beta2中采用名称类似:App_Code,App_Data,App_GlobalResources等等...在VS2005 Beta2中,在添加一个类文件的时候,系统会提示"你试图向Asp.net应用程序中添加一个类文件,如果要使该类在你的站点是可用的话,你应该把他放在'App_Code'目录中".于是添加一个类文件到App_Code目录中,如下图结构:

    此时,添加的类文件Class1.cs并没有名称空间信息

    没有名称空间,那么在其他目录层次中应该怎么访问这个类呢?于是,我在外部的CheckList.aspx.cs中执行定义Class1的操作,发现是可以实例化该类的,那是不是说现在引用App_Code中的类都不用管名称空间的事呢,VS会自动在该目录中去搜索该类呢?那如果我在App_Code的子目录中存在同名的Class1.cs的文件又会怎么样呢?于是,构造如下结构:

    现在,这两个Class1.cs文件就是完全一样的两个文件了。编译。。。出错,提示“已在《全局名称名称空间》中申明了'Class1'”。看来,凡是App_Code下面的类文件统统都属于“gobal namespace”,Asp.net2.0会自动管理其中的类的。于是,通过手动给冲突文件的其中一个加上一个名称空间,OK,冲突没了,引用照常就可以了。但是问题又出来了,我在非“App_Code”目录中添加的类(如上图中,我在Web程序的根添加了一个文件Class2.cs,同样刚添加的时候无名称空间,无法引用,手动添加上名称空间后,仍然无法引用。。。郁闷,难道"App_Code"外的类就无法引用了?
  • 相关阅读:
    #轻重链剖分,交互#LOJ 6669 Nauuo and Binary Tree
    #贪心#洛谷 6093 [JSOI2015]套娃
    #根号分治,树上倍增#洛谷 3591 [POI2015]ODW
    #KD-Tree,替罪羊树#洛谷 6224 [BJWC2014]数据
    #K-D Tree#洛谷 2093 [国家集训队]JZPFAR
    nim-lang: UUID shellcode execution(过所有杀软)
    nim-lang 免杀测试:回调函数结合隐写术
    Shellcode Injection via Callbacks(nim学习系列)
    Reflective dll injection(nim 学习系列)
    搭建简易的 http server(nim 学习系列)
  • 原文地址:https://www.cnblogs.com/goody9807/p/1283166.html
Copyright © 2011-2022 走看看