Ошибка компилятора CS1061

2

У меня есть следующий класс...

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, который я пытаюсь добавить в

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);

Кто-нибудь еще испытал это?

  • 0
    переназначен asp.net
Теги:
compiler-construction
.net-3.5

2 ответа

4
Лучший ответ

Вот несколько идей о том, что может быть причиной этого:

  • Если это проект веб-сайта, который, как я предполагаю, потому что ваш фрагмент не включает пространство имен, у вас есть другой класс в папке app_code с именем MyCustomLogger?
  • Если эта страница находится на главной странице, является ли главная страница, отображающая что-то с именем MyCustomLogger как общедоступное свойство и противоречащей определению app_code?
  • Если это проект веб-приложения, проблема может быть вызвана тем, что на странице отсутствует декларация пространства имен.
  • 0
    Это отвечает на это. Я все еще новичок в C # и не до конца понимаю, среди прочего, НЕОБХОДИМОСТЬ объявления пространства имен для этого класса. Но ... Добавление пространства имен в MyCustomLogger.cs устранило проблему. Я понятия не имею, почему ~ Спасибо!
  • 1
    Пространства имен очень важны для понимания при кодировании любого языка DotNet. Вы можете найти достойное объяснение их от MS по адресу msdn.microsoft.com/en-us/library/dfb3cx8s.aspx .
1

Есть ли другой тип на странице MyCustomLogger, что есть конфликт (не может решить правильный тип? Можете ли вы опубликовать любой код, чтобы помочь нам увидеть проблему?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню