我有一个代码隐藏页面,有几种方法; 其中一个是页面方法.
[WebMethod]
public static void ResetDate(DateTime TheNewDate)
{
LoadCallHistory(TheNewDate.Date);
}
protected void LoadCallHistory(DateTime TheDate)
{ bunch of stuff }
Run Code Online (Sandbox Code Playgroud)
当页面加载时,方法LoadCallHistory工作正常,我可以从页面内的其他方法调用它.但是,在Web方法部分中,它以红色加下划线,并显示错误"非静态字段需要对象引用".
如何从代码的页面方法部分访问函数?
谢谢.
Fil*_*erg 12
如果没有类的实例,则无法从静态上下文中调用非静态方法.static从中移除ResetDate或LoadCallHistory静止.
但是,如果static从中删除,则ResetDate必须具有该实例才能使用该方法.另一种方法是在里面创建一个类的实例ResetDate并使用该实例来调用LoadCallHistory,如下所示:
[WebMethod]
public static void ResetDate(DateTime TheNewDate)
{
var callHistoryHandler = new Pages_CallHistory();
callHistoryHandler.LoadCallHistory(TheNewDate.Date);
}
Run Code Online (Sandbox Code Playgroud)
错误消息表明ResetDate具有关键字static而LoadCallHistory不是.当使用静态时,要么两个方法都需要是静态的,要么需要调用方法static,如果被调用的方法不是,则调用者不能是静态的.
在"静态类和静态类成员"上引用MSDN
静态类与非静态类基本相同,但有一个区别:静态类无法实例化.换句话说,您不能使用new关键字来创建类类型的变量.因为没有实例变量,所以可以使用类名本身访问静态类的成员.
| 归档时间: |
|
| 查看次数: |
17308 次 |
| 最近记录: |