c# - 从静态函数调用非静态函数

标签 c# javascript asp.net

我无法从静态函数调用非静态函数(或)我想从静态函数调用 javascript 函数。

[WebMethod]
public static void add_items(string itemslist)
{
    get_price(itemslist); // Error An object reference is required for non-static

    //(or)
    ScriptManager.RegisterStartupScript(this, 
        this.GetType(), 
        "script", 
        "<Script language='javascript' "
           + "type='text/javascript'>message();</script>", 
        false); //Error in this, this
}

protected void get_price(string item_id)
{

}

最佳答案

由于无论您是否实例化该类,静态方法都是可访问的,因此从静态方法访问类成员可能意味着您正在引用堆栈或堆中尚不存在的内容,从而创建一个运行时异常。

因此,如果不首先实例化非静态成员,则不能在静态方法中引用非静态成员,这就是您收到错误的原因。希望这对您有所帮助!

关于c# - 从静态函数调用非静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14978332/

相关文章:

javascript - 页面创建phonegap jquery mobile

javascript - 通过过滤器创建新的唯一 JSON 表单现有 JSON

c# - 多维 float 组分配崩溃

c# - 在实体及其代理类型之间进行转换

c# - C#面试题

javascript - 使用 AJAX 删除项目时如何重新加载 jQuery Masonry?

asp.net - 有哪些工具可用于将本地化添加到 ASP.NET 项目?

asp.net - 当第一次在 UpdatePanel 中回发时加载控件/验证器时,如何使用自定义 ValidatorUpdateDisplay 函数?

asp.net - 从命令行运行时,Docker 容器不起作用

c# - 更快的替代 Convert.ToDouble(string)