问一个很奇怪的问题,我用在项目里面新建了个文件夹model,然后里面放了两个类 class1,和class2这时候把他们都放进命名空间X里,可是引用的时候 打X.**为啥只能看到当前类呢?(比如在class1就看不到class2),而当我把这两个类放在App_Code里,(同样也在一个命名空间)打X.**就能看到该命名空间里的所有类了..怎么回事呢 好诡异。

解决方案 »

  1.   

    新建了个文件夹model,那么model也是一个命名空间啊
      

  2.   

    model这个名称空间要包括进去
      

  3.   

    lz把类声明贴出来吧,
    我觉得可能的情况是这样,因为lz刚刚提到APP_Code文件夹
    那么应该是一个web application
    如果.cs 文件没有放在App_Code里面是不会被项目引用的,
    也就是说class1不知道class2的存在,
    这跟你放在一个文件夹下没有关系。
    而当你把文件放在App_Code下的时候,自动应用里面的所有cs文件,
    项目知道了class1,class2的存在,就可以看到对方了。
      

  4.   

    楼主2个类前面都加上
    public 就可以了
    public  class class1
    {}
    public  class class2
    {}
      

  5.   

    ASP.NET中,自定义的类只能在APP_CODE文件中中才能被看见
      

  6.   

    model建类库使用或使用时加model
    App_Code存储所有作为应用程序的一部分动态
    编译的类文件。文件自动链接到应用程序,而不需要在页面中添加任何显式指令或
    声明来创建依赖性。App_Code文件夹中放置的类文件可以包含任何可识别的ASP.NET组件
      

  7.   

    用的是public class1,命名空间是model我也试过了,还是不行。貌似跟dll有关,应该动态生成下,然后把类文件联系在一起。大家可以试下,新建个项目很方便的。的确很奇怪的问题。不知道有没有什么办法可以直接把.cs文件关联的方法。先谢谢大家了!!
      

  8.   

    新建的类缺省都是private,互相看不到
    在类的前面加上public应该就行了
      

  9.   

    ASP.NET中,自定义的类只能在APP_CODE文件中中才能被看见
      

  10.   

    明白是啥问题了,dll的关系。不过我的vs版本很奇怪。大家对文件夹点击右键,有生成选项么?还有vs 2005怎样生成dll呢?发布网站么?
      

  11.   

      定义类的时候加上static 试下...
      

  12.   

    加static或者创建一个对象实例