首页 新闻 会员 周边

Asp.net的部分类跟c#类有什么不一样?

0
悬赏园豆:10 [已解决问题] 解决于 2008-08-07 20:55
在Asp.net里页面后置代码里,可以在一个方法中调用另一个方法,不管被调用的那个方法的访问修饰符是public,private,还是非static的.而如果单独写一个类的时候,就不可以在一个方法里直接调用一个非静态的方法,否则将会出现"不能调用非静态修饰符的方法"的错误.我认为后置代码作为一个部分类,也是一个类啊,为什么会不一样呢?
爱上编程的主页 爱上编程 | 初学一级 | 园豆:55
提问于:2008-07-11 21:33
< >
分享
最佳答案
0
你是在asp.net的code-behind类的实例(非静态)方法中调用它的其它方法,这时无论这些方法是用什么修饰符修饰,都是可以访问的。 而在你自己写的类中,在静态方法内是绝对不可以调用实例方法的。 asp.net的colde-behind类和自己写的类都应该遵循这样的规则。
Windie Chai | 小虾三级 |园豆:580 | 2008-07-12 11:05
其他回答(7)
0
而如果单独写一个类的时候,就不可以在一个方法里直接调用一个非静态的方法,否则将会出现"不能调用非静态修饰符的方法"的错误 -------------------------------------------- 我怎么没有发现有这个问题? public class Class1 { public Class1() { } public string ss() { return tt(); } public string tt() { return "tt"; } }
丁学 | 园豆:18730 (专家六级) | 2008-07-12 08:02
0
应该没有这个问题吧!
张荣华 | 园豆:2020 (老鸟四级) | 2008-07-12 11:58
0
Jared.Nie | 园豆:1940 (小虾三级) | 2008-07-12 14:16
0
这不是code-behind类和自定义类的区别 它们当然是一样的 :) 当我们调用一个非静态方法(实例方法)时 需要有一个持有该方法的实例 在一个类的内部,实例方法可以直接调用另一个实例方法 比如你说的code-behind类的情况 而如果是静态方法调用另一个实例方法 则需要首先创建它的一个实例
Anders Cui | 园豆:1570 (小虾三级) | 2008-07-12 17:37
0
可以说没有本质的区别,基本语法是一样的。ASP.NET可以用C#做脚本语言。
universe@三月软件 | 园豆:184 (初学一级) | 2008-07-12 18:20
0
出现"不能调用非静态修饰符的方法"的错误肯定是你在静态方法中调用了非静态方法,这和是不是部分类没有关系。
吴畏 | 园豆:426 (菜鸟二级) | 2008-07-17 17:56
0
两者语法一样,不会存在这样的问题。除非vs出了故障。
MartinGao | 园豆:663 (小虾三级) | 2008-07-25 17:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册