【问题标题】:Compiler Error CS1061编译器错误 CS1061
【发布时间】:2011-01-02 23:47:02
【问题描述】:

我有以下课程...

public class MyCustomLogger
{

public static int DEFAULT_INFO = 0;
public static int DEFAULT_LOGIN = 1;

//etc

public static void Log( ... )
{
 doStuff(...);
}
public static void Log( ... , ... )
{
 doStuff(...);
}
private static void doStuff(...)
{
//doLots of Stuff
}

所以当我从另一个自定义类调用MyCustomLogger.Log(...); 时......它工作正常。没有编译错误......什么都没有。它只是工作

当我从后面的 SuchAndSuch.master 代码中调用它时......它工作正常。没有编译错误......什么都没有。它只是工作。

当我从后面的 SuchAndSuch.ascx 代码中调用它时......它工作正常。没有编译错误......什么都没有。它只是工作。

但是...当我从后面的 SuchAndSuch.aspx 代码中调用它时...它不起作用。我收到'MyCustomLogger' does not contain a definition for 'Log'

我是从我添加到的任何 aspx 页面中获取的。

编辑 这是我尝试将其添加到的 aspx 页面中的 sn-p

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

public partial class Logout : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //doStuff
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        MyCustomLogger.Log(MyCustomLogger.DEFAULT_INFO);

有其他人经历过吗?

【问题讨论】:

    标签: c# asp.net .net-3.5 compiler-construction


    【解决方案1】:

    以下是关于可能导致此问题的一些想法:

    1. 如果这是一个网站项目,我猜这是因为您的数据提取不包含命名空间,那么您的 app_code 文件夹中是否还有另一个名为 MyCustomLogger 的类?
    2. 如果此页面位于母版页中,母版页是否将名为 MyCustomLogger 的内容公开为公共属性并与 app_code 定义冲突?
    3. 如果这是一个 Web 应用程序项目,问题可能是因为页面上缺少命名空间声明。

    【讨论】:

    • 这就回答了。我还是 C# 的新手,除其他事项外,我并不完全理解为此类声明命名空间的必要性。但是...向 MyCustomLogger.cs 添加命名空间解决了这个问题。我不知道为什么~谢谢!
    • 在编写任何 DotNet 语言时,理解命名空间至关重要。您可以在msdn.microsoft.com/en-us/library/dfb3cx8s.aspx 上从 MS 那里找到对它们的体面解释。
    【解决方案2】:

    页面中是否存在另一种类型的 MyCustomLogger 存在冲突(无法解决正确的类型?您可以发布任何代码来帮助我们查看问题吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多