2010-01-08 9 views
2

J'ai la classe suivante ...Erreur du compilateur 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 
} 

Alors quand je l'appelle MyCustomLogger.Log(...); d'une autre classe sur mesure ... il fonctionne très bien. Pas d'erreurs de compilation ... rien. Cela fonctionne juste

Quand je l'appelle du code de SuchAndSuch.master derrière ... cela fonctionne bien. Non Compilez les erreurs ... rien. Cela fonctionne juste.

Quand je l'appelle du code SuchAndSuch.ascx derrière ... cela fonctionne très bien. Non Compilez les erreurs ... rien. Cela fonctionne juste.

Cependant ... quand je l'appelle du code SuchAndSuch.aspx derrière ... cela ne fonctionne pas. Je reçois 'MyCustomLogger' does not contain a definition for 'Log'

Je reçois ce à partir de n'importe quelle page aspx je l'ajoute.

EDIT Voici un extrait des pages ASPX je suis en train d'ajouter à

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

Quelqu'un at-il vécu cela?

+0

reclassé avec asp.net –

Répondre

4

Voici quelques idées sur ce pourrait être la cause:

  1. Si c'est un projet de site web, que je devine parce que votre extrait ne comprend pas un espace de noms, avez-vous une autre classe dans votre dossier App_Code avec le nom MyCustomLogger
  2. ? Si cette page est dans la page principale, la page principale expose-t-elle quelque chose appelé MyCustomLogger comme ap propriété ublic et en conflit avec la définition app_code?
  3. S'il s'agit d'un projet d'application Web, le problème peut provenir de l'absence de la déclaration Namespace sur la page.
+0

Qui répond à cela. Je suis encore nouveau à C# et ne comprends pas entièrement, entre autres choses, le besoin de déclarer un espace de noms pour cette classe. Mais ... L'ajout d'un espace de noms à MyCustomLogger.cs a résolu le problème. Je n'ai aucune idée pourquoi ~ Merci! – Robert

+1

Les espaces de noms sont essentiels à la compréhension lors du codage d'un langage DotNet. Vous pouvez trouver une explication décente à partir de MS à http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx. –

1

Y at-il un autre type dans la page qui est MyCustomLogger qu'il ya un conflit (ne peut pas résoudre le type correct? Pouvez-vous envoyer un code pour nous aider à voir la question?