2010-01-08 2 views
2

У меня есть следующий класс ...Компилятор CS1061 Ошибка

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, к которой я добавляю.

EDIT Вот отрывок из 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

retagged with asp.net –

ответ

4

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

  1. Если это веб-сайт проекта, который я предполагаю, потому что ваш экстракт не содержит имен, у вас есть еще один класс в папке App_Code с именем MyCustomLogger
  2. ? Если эта страница находится на главной странице, это главная страница, в которой отображается что-то под названием MyCustomLogger как ap общедоступной собственности и противоречит определению app_code?
  3. Если это проект веб-приложения, проблема может быть вызвана тем, что на странице отсутствует декларация пространства имен.
+0

Ответ на него. Я все еще новичок в C# и не понимаю, среди многих других, NEED, чтобы объявить пространство имен для этого класса. Но ... Добавление пространства имен в MyCustomLogger.cs устраняет проблему. Я понятия не имею, почему ~ Спасибо! – Robert

+1

Пространства имен имеют решающее значение для понимания при кодировании любого языка DotNet. Вы можете найти достойное объяснение от MS по адресу http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx. –

1

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

Смежные вопросы