2010-06-22 6 views
1

J'ai la déclaration au début de mon fichier de classeC#: Erreur MessageBox.Show - méthode, mais utilisé comme un type

using System.Windows.Forms; 

Mais lorsque je tente de faire la déclaration

MessageBox.Show("Pow"); 

Je reçois l'erreur

Error 2 'System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window, string)' is a 'method' but is used like a 'type' 

Code complet:

using System.Windows.Forms; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 


namespace Contacts 
{ 
    class AnotherClass 
    { 
     MessageBox.Show("Pow"); 
    } 
} 

Je n'arrive pas à trouver de raison pour cela. L'autre bizarrerie est que quand je tape MessageBox, Intellisense le trouve, mais après avoir placé mon (.) Je ne reçois pas le menu typique des options de méthode de cette classe comme "Show".

Des pensées?

+0

De quel type de projet s'agit-il? Console, Bibliothèque, WinForms, autre? – DevSolo

Répondre

1

Je l'ai compris à jamais. Le principal de classe qui peut contenir des méthodes, des propriétés et des déclarations de champ.

+0

donc à la fin comment l'avez-vous codé? parce que je dois faire moi-même le débogage manuel avec une boîte à message – GJJ

0

Vous l'avez. Devrait avoir renommé Main() en NotMain() dans Program.cs puis ajouté du code à AnotherClass. Le code devrait ressembler à ceci.

class AnotherClass 
{ 
    public static void Main() 
    { 
     MessageBox.Show("Pow!); 
    } 
} 

Pas exactement pourquoi, mais ça marche ... débutant

3

Il est vraiment simple. Main() est la première fonction qui s'exécute dans une application C++ ou C#. et dans votre code original, vous avez déclaré les espaces de noms, créé une classe mais n'avez pas créé de fonction. juste utilisé la méthode MessageBox.Show. Dans le deuxième exemple, vous avez créé une fonction que vous avez ensuite placée dans la méthode MessageBox.Show et parce que la fonction s'appelle Main() c'est la première fonction à exécuter au début du programme.

Questions connexes