[已解决问题] Asp.net的部分类跟c#类有什么不一样?
提问时间: 2008-07-11 21:33
悬赏分:10 浏览:325 次
在Asp.net里页面后置代码里,可以在一个方法中调用另一个方法,不管被调用的那个方法的访问修饰符是public,private,还是非static的.而如果单独写一个类的时候,就不可以在一个方法里直接调用一个非静态的方法,否则将会出现"不能调用非静态修饰符的方法"的错误.我认为后置代码作为一个部分类,也是一个类啊,为什么会不一样呢?
最佳答案
你是在asp.net的code-behind类的实例(非静态)方法中调用它的其它方法,这时无论这些方法是用什么修饰符修饰,都是可以访问的。 而在你自己写的类中,在静态方法内是绝对不可以调用实例方法的。 asp.net的colde-behind类和自己写的类都应该遵循这样的规则。
2008/7/12 11:05:56 回答者:Windie Chai(笑煞天)


提问者对于答案的评价:呵呵,是的,谢谢你的答案!
其它回答(7)
而如果单独写一个类的时候,就不可以在一个方法里直接调用一个非静态的方法,否则将会出现"不能调用非静态修饰符的方法"的错误 -------------------------------------------- 我怎么没有发现有这个问题? public class Class1 { public Class1() { } public string ss() { return tt(); } public string tt() { return "tt"; } }
3个月前   回答者:丁学 - 专家六级
应该没有这个问题吧!
3个月前   回答者:张荣华 - 小虾三级

3个月前   回答者:林间曦阳 - 小虾三级
这不是code-behind类和自定义类的区别 它们当然是一样的 :) 当我们调用一个非静态方法(实例方法)时 需要有一个持有该方法的实例 在一个类的内部,实例方法可以直接调用另一个实例方法 比如你说的code-behind类的情况 而如果是静态方法调用另一个实例方法 则需要首先创建它的一个实例
3个月前   回答者:Anders Cui - 小虾三级
可以说没有本质的区别,基本语法是一样的。ASP.NET可以用C#做脚本语言。
3个月前   回答者:universe - 初学一级
出现"不能调用非静态修饰符的方法"的错误肯定是你在静态方法中调用了非静态方法,这和是不是部分类没有关系。
2个月前   回答者:吴畏 - 初学一级
两者语法一样,不会存在这样的问题。除非vs出了故障。
2个月前   回答者:Martin(高超) - 小虾三级
评论
3个月前   爱上编程 :
是这样的啊,我调试过的
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关内容

相关链接