【问题标题】:Calling a function from public static class从公共静态类调用函数
【发布时间】:2012-10-19 23:11:01
【问题描述】:

我是 ASP.NET 的新手。

我真的需要帮助,因为我被困住了。我在谷歌上做了很多阅读,不知道我做错了什么。

错误:CS0103:名称“MyClass”在当前上下文中不存在

我有一个 MyClass.cs 文件,我喜欢在任何页面上重用此文件中的该功能。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MyNameSpace
{
    public static class MyClass
    {

        //
        // TODO: Add constructor logic here
        //

        public static string FormatDateNoTime(string input)
        {
            string thedate;
            DateTime strDate = DateTime.Parse(input);
            thedate = strDate.ToString("MM/dd/yyyy");
            return thedate;
        }

        public static string test()
        {
            return "1234";
        }

    }
}

另外一个Page2.aspx.cs调用了这个函数,但是报错

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

using MyNameSpace;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(MyClass.FormatDateNoTime("02/01/2012"));
    }
}

有人可以帮忙吗,我只是想在任何页面中重用这个功能。

【问题讨论】:

  • 您是否删除了 _Default 类应该所在的命名空间,还是只是复制/粘贴错误?
  • 你在哪里声明你的班级?它在 App_Code 中还是在哪里?
  • 是的,我创建的 MyClass.cs 在 App_Code 文件夹中。
  • 我在一个示例项目中实现了您的代码,并且它工作得非常好。尝试清理并重建您的解决方案。
  • 还要注意你的输出窗口。

标签: c# asp.net static-methods


【解决方案1】:

这是我的建议

  • 你需要通过包含using namespaceOfMyClass来导入MyClass的命名空间,或者调用者类和被调用的类应该属于同一个命名空间

  • 有时默认情况下不编译该类。右键单击解决方案资源管理器中的文件,然后单击属性。检查Build Action 属性并确保它显示“编译”

  • 从顶层构建您的项目,例如解决方案

【讨论】:

  • 这也是我被卡住的地方。我右键单击解决方案探索中的文件,选择属性。那里只有两个选项,一个是 FileName = "MyClass.cs",另一个是 Full Path = "The Path",我没有看到任何 Build Action 或 Compile 选项。谢谢
【解决方案2】:

在这个:

Response.Write(MyClass.FormatDateNoTime("02/01/2012"));

右键单击MyClass 并选择“resolve”,其中应包含添加命名空间或使用类型的完全限定名称的选项。

如果解析不存在,请从包含 Page2.aspx.cs 的程序集中添加对包含 MyClass.cs 的程序集的引用。

【讨论】:

  • 这听起来像我遇到的问题“如果解析不存在,请添加对程序集的引用”。你能告诉我怎么做吗?对不起,我是喵喵。
【解决方案3】:

我遇到了同样的问题。我解决了重启VS的问题。重新启动后,我的项目中看不到有问题的类的 cs 文件。我再次将文件添加到解决方案资源管理器中的项目并构建了完整的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多