微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET 部分类冲突

如何解决ASP.NET 部分类冲突

最近在 ASP.NET 项目中,我创建了一个 ASPX 页面,IDE 为我创建了代码隐藏文件。 我打开那个文件,看到它是一个与 aspx 页面同名但扩展名为 .cs 的部分类(例如:page1.aspx 和 page1.cs)。

之后,我复制了 aspx 页面,将其重命名并开始编写与前一个类似的页面。我看到当我重命名 aspx 页面时,.cs 文件会相应地重命名(例如:page2.aspx 和 page2.cs)。

现在我注意到我在复制粘贴过程中可能犯的一个错误,实际上两个复制的文件,即使它们有不同的文件名,也有相同的类名。

public partial class page1 : System.Web.UI.Page

据我所知,部分类是程序员可以在不同文件中拆分类的一种方式,当您拥有自动生成代码自定义代码(由程序员开发)时,这很方便。 因此,如果您要重建自动生成代码,那么这样做的程序不会与程序员代码混淆。据我所知,预编译器将所有具有相同分部类的文件合并,然后编译程序。

因此,鉴于该前提,我所期望的是我的错误会导致 ASP.NET 程序中的不一致,并且这种不一致会产生一些错误,但事实并非如此,我觉得我的程序出现了问题知识(我在这里写的关于部分类内容)。 即使我调试这两个页面,似乎这两个类生成了两个可区分的实例(不是同一类型);在一个页面加载事件中,我看不到另一个的受保护方法。 这不是我所期望的,我期望有两个相同类型的实例,所以一个实例应该看到属于同一类的两个部分文件的所有方法

所以我要问的是,是否有人可以解释我的假设中的错误,以便我了解这种意外行为的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。