日期:2014-05-18  浏览次数:20765 次

webform和winform的事件处理函数默认访问为什么不同 protected 和 Private
如题,奇怪

------解决方案--------------------
奇怪,我居然没看懂题目
------解决方案--------------------
呵呵,估计与继承有关系,应该问为什么类用的是继承和Partial关系,这个Partial东西现在我都不明白有什么用

后面的高手解答哈
------解决方案--------------------
哦,懂了,
我觉得应该不是你2L说的那样,
WINFORM是private的我觉得可以理解,自己写的代码和自动生成的代码是部分类的关系;
而WEBFORM默认是受保护的访问权限是不是为了支持回送的问题.
水平有限,随便说说.
帮顶!!!!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------
我也很想知道,有没有高手出来说说!
------解决方案--------------------
aspx文件的最上面有个Inherits标记就是继承的cs中的类。如果不是protected,aspx将不能调用
cs中的方法。
------解决方案--------------------
不是很懂,我看自己也要学习一下了
帮你顶一下,以表支持
------解决方案--------------------
还真没注意个这个东西,呵呵
LZ够细心的
------解决方案--------------------
IIS使用继承的方式来服务请求的
比如:网页 Default:Page
IIS会生成 DefaultXXX:Default
所以就不一样了
------解决方案--------------------
mark
------解决方案--------------------
可以从protected的作用范围上考虑。他只对本类和派生类有作用,觉得可以从这个方面入手来考虑问题!!!
------解决方案--------------------
学习。
------解决方案--------------------
顶一个,学习一下!
------解决方案--------------------
探讨
顶一个,学习一下!

------解决方案--------------------
探讨
就是说在asp.net里,我们写的类都不是真正执行的类,系统会根据这个再派生一个类,这样倒也有道理。

------解决方案--------------------
楼主够细心!赞一个!

------解决方案--------------------
不知道为什么这么设计,等待高手作答!
------解决方案--------------------
7楼正解.
如果要真正搞懂原理,可以去看看protected和private的作用域定义.然后再弄清楚asp.net的运行机制.
通俗地来说,就是7楼说的,aspx需要访问cs的方法,该方法必须用protected修饰.private只能在cs文件中创建它的类里使用.
------解决方案--------------------
举个例子,你在cs里的方法是protected void M() { }

那么,你把这个方法直接写进aspx文件里,就可以是
<script runat="server">
private void M() { }
</script>