asp.net中的cs文件中public partial class webXabara_study_Default : System.Web.UI.Page

这个class后边的webXabara_study_Default这个名字每个cs文件这个名字都要不一样的还是可以一样换句话说是不是每个cs文件都可以用publicpar... 这个class 后边的webXabara_study_Default这个名字 每个cs文件这个名字都要不一样的还是可以一样 换句话说是不是每个cs文件都可以用public partial class webXabara_study_Default : System.Web.UI.Page (有时候一个cs文件被我直接搬到其他cs中用了,不知道这个名字要不要一起修改) 展开
 我来答
百度网友66a8d48e5
2013-03-15 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3911万
展开全部
主要你是对ms的分部不了解。

public partial class classname
这种定义就是分部定义,也就是说可以将一个类定义到不同的cs文件中。

大多数时间,由于某一个类的功能太过于强大或是代码量代大时,可以考虑使用分部定义。

如在file1.cs中定义public partial class classname,同时在file2. cs中定义public partial class classname,其中classname两个是相同的名字,编译时会编成一个对象。

我没有看明白你所说的同名在哪里,是文件同名么?比如在file1.cs另一个也是file1.cs?这个受制于操作系统。在操作系统中同一文件夹下的两个文件不可以同名(文件名与属性名共同共复)。

但对于分部定义也有自己的要求:
分部定义的每个分部定义都必须加partial,表示是分部的一个部分。类名必须相同。

任何分部的继承在其他分部中都可以使用!如
public partial class class1 : baseclass

public partial class class1
{
//该分部中可能调用baseclass的任何内容。
}

如果继承的是一个类(抽象类,类)在其他分部均不能再继承类——C#是单继承,只允许继承一个父类对象。但接口却是不同的。

任何一个分部定义的类都必须在同一命名空间下!等等这些限制。

我不确定你真正的意图,所以不知道你要修改名称是哪个,为什么会有这种想法,但是建议你去看一下partial的说明。
追问
换句话说,一个a.aspx和a.aspx.cs 同是这个文件 同时在A文件夹和B文件夹使用(一个是用户用,一个是后台管理用,功能一样,但不想后台管理的去引用用户的),这时候如果同时后台管理和用户同时打开这个,在内存里会不会形成冲突,或者出错?  实在不懂这些基础的知识,只是修改原来买来的网站系统,请见谅
追答
还是没看懂,不明白你说的意思!

你如果说两个文件中分别有a.aspx和a.aspx.cs文件是这意思么?

在操作系统上是可以存在的的。在网站系统中也是可以的!

但是——事实上网站运行时,.cs文件已经被代码隐藏了,根本是不存在的,所有的cs文件都被编译成了一个dll供dll调用,也就是说,即使你没有编译,那么初次运行后cs文件也被编译了,源文件的cs已经失去了做了,它只是一个中间产品,网站运行时调用的是aspx文件及编译后的dll,如果把cs文件放到网站上还有多大意思呢?等别人攻击服务器拿到你的源码么?

所以根本不会说aspx.cs的事了。但是在编译时,如果两个文件夹中哪怕名称不同,比如一个是a.aspx.cs,另一个是b.aspx.cs,但其中定义是public partial class classname,只要在同一个命名空间内,而就是程序的namespace相同的情况下都不作为一个用的,如果是同一命名空间两个完全不同的类却有相同名称也是不允许的。而在调用时,在aspx文件中其实就有调用的!怎么调用的,在aspx中已经清除地说明了!指令中是存在要调用文件的类名与路径名的,你若能持懂(是用户控件,与些相似),那么其中的调用关系是很明显的!

内存中一般一个实例一块区,有时一个请求也是一块区域,所以发生内存冲突的机率不大,只有在调用静态变量时注意一下就行了,问题是能否编译才是重要的。这些同名类若是同命名空间内,编译时就已经报错了!
rippox
2013-03-15 · 超过31用户采纳过TA的回答
知道答主
回答量:141
采纳率:0%
帮助的人:59.7万
展开全部
同一个命名空间下中可以有重名的 public partial class webXabara_study_Default ,因为partial声明了是局部类,编译器会合并成一个webXabara_study_Default;但是如果不指定partial 关键字,就不能重名;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欧阳寒涵就是周大师
2013-03-14 · TA获得超过215个赞
知道小有建树答主
回答量:260
采纳率:100%
帮助的人:132万
展开全部
相当于引用的类,winform不也是这样,哪能存在两个相同名的类
追问
不是同一个cs文件,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
麻双大2173
2013-03-13 · 超过31用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:67.8万
展开全部
当然不能重名啊。。。
追问
不在一个文件夹呢
有没有问题?
重名了有什么问题呢?
追答
不在同一个文件夹 是没有问题的
如果重名了 asp.net引擎就无法找到他
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式