gpt4 book ai didi

asp.net - 在 Visual Studio 中,如何在自动创建新事件处理程序时将默认访问修饰符设置为私有(private)而不是 protected ?

转载 作者:行者123 更新时间:2023-12-04 06:49:50 25 4
gpt4 key购买 nike

在使用 Visual Studio 2005/2008/2010(在 2003 年不是问题)在 C# 或 VB 中开发和 ASP.NET 应用程序时,如果我通过双击设计器中的控件或在设计器中选择新方法来自动创建新方法代码编辑器下拉列表(仅限 VB),访问修饰符始终 protected 而不是私有(private)。这很烦人,因为我的开发人员每次都必须手动将方法更改为私有(private)。

有没有办法告诉 Visual Studio 将所有新方法头生成为私有(private)而不是 protected ?

请不要争论希望我的方法是私有(private)的原因。

最佳答案

这不适用于在设计器中双击控件的情况。

在设计器中双击控件不仅会在代码隐藏中创建默认事件处理程序的代码,还会更改引用它的标记。例如,在网页上添加了一个按钮,然后双击它,我得到:

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Yes" />

如果我更改 Button1_Click 的可见性到“私有(private)”,然后我得到一个蓝屏死机:

Compiler Error Message: CS1061: 'ASP.default_aspx' does not contain a definition for 'Button1_Click' and no extension method 'Button1_Click' accepting a first argument of type 'ASP.default_aspx' could be found (are you missing a using directive or an assembly reference?)



分析和构建 ASP.NET 页面以生成派生自代码隐藏类的类。该类需要能够引用事件处理程序之类的东西。

显然,当与 VB.NET 一起使用时,这个问题就不存在了。不同之处在于,在 VB.NET 中,设计器根本不更改标记,因此从标记生成的类不需要引用创建的事件处理程序。它可以安全地设为私有(private)。

但是,由于设计器在与 C# 一起使用时会修改标记,因此生成的类确实需要引用新的事件处理程序。在这种情况下,不能将事件处理程序设为私有(private)。

关于asp.net - 在 Visual Studio 中,如何在自动创建新事件处理程序时将默认访问修饰符设置为私有(private)而不是 protected ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3293228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com