为什么私有vs保护如何使用VB.NET在ASP.NET中创建按钮单击事件?

atc*_*way 8 vb.net asp.net visual-studio

我从来没有想过太多的事情,但我是curiuos并且想要理解实际的推理.在使用VB.NET的 ASP.NET中,您可以通过两种不同的方式定义有线按钮单击事件(到ASP.NET服务器控件)(出于此对话的目的 - 通过按钮属性手动连接,这里没有问题) :

  1. 双击设计器中的按钮,该按钮使用Protected方法在后面的代码中生成一个事件.
  2. 在后面的代码中,从控件列表中选择按钮,然后选择它的"Click"事件.这会产生一个私有方法.

理解私人和受保护之间的区别; 这里没有问题.我只是想知道为什么根据有线连接事件如何自动处理它为该方法生成不同的访问级别的实际原因(不要猜测或推测)?

谢谢!

swa*_*nee 6

它在控件本身声明时受到保护的原因是.aspx被编译成一个继承自代码隐藏的类,因此如果它是私有的,它将不会看到该方法.当事件在内部分配给代码隐藏时,显然私有成员是可访问的.

两者都是有效的方法,只取决于你如何为猫皮肤设置皮肤,如果动态创建一个控件,你可能必须在代码隐藏中分配事件,因此机制需要在那里.