2010-01-08 4 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

asp.net –

답변

4

을 올바른 유형을 해결하는 것에 대한 몇 가지 아이디어입니다 수 없습니다 이 원인이 될 수 있습니다

  1. 이 당신의 추출물이 네임 스페이스를 포함하지 않기 때문에 내가 추측하고있어 웹 사이트 프로젝트, 당신은 MyCustomLogger 이름으로 당신의 App_Code 폴더에 다른 클래스가 있나요
  2. 인 경우? 이 페이지가 마스터 페이지에있는 경우 마스터 페이지가 MyCustomLogger라는 이름을 ap로 노출하고 있습니까? ublic 속성 및 app_code 정의와 충돌합니까?
  3. 웹 응용 프로그램 프로젝트 인 경우 페이지에 네임 스페이스 선언이 없기 때문에 문제가 발생한 것일 수 있습니다.
+0

로 답변했습니다. 저는 C#에 대해 아직 익숙하지 않습니다. 다른 많은 것들 중에서도이 클래스의 네임 스페이스를 선언해야한다는 것을 완전히 이해하지 못하고 있습니다. ... MyCustomLogger.cs에 네임 스페이스를 추가하면 문제가 해결되었습니다. 왜 그런지 모르겠다 ~ 고마워! – Robert

+1

DotNet 언어를 코딩 할 때 이름 공간을 이해하는 것이 중요합니다. MS의 적절한 설명은 http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx에서 찾을 수 있습니다. –

1

충돌이 있음을 MyCustomLogger의 페이지에서 다른 유형 있는가 (여기에? 당신이 우리가 문제를 볼 수 있도록 코드를 게시 할 수 있습니까?