2010-07-11 3 views
1

Lorsque le code seulement il y a une classe comment voulez-vous coder en ajoutant du public à la classe par défaut comme siCode propre quelle version est correcte?

namespace HW2_2_Spaceship 
{ 
    public class Spaceship //added public to the default class 
    { 
     static void Main(string[] args) 
     { 
     } 

ou

namespace HW2_1_Book 
{ 
    class Book 
    { 
     static void Main(string[] args) 
     { 

     } 
     public class Book // added a new class with in the default class 
     { 
+1

Est-ce que le HW dans HW2 est pour les devoirs? :) –

+0

Oui c'est le cas, juste essayer de le faire correctement –

Répondre

6

En général, chaque classe doit avoir son propre dossier .

Main devrait être Program.cs

Il y a usecases où vous pouvez utiliser les classes internes, voir Using Inner classes in C#.

+0

merci beaucoup –

+0

@Micheal: un être externe (le CLR) doit être capable de trouver votre classe par défaut pour démarrer votre programme. Par conséquent, en raison de la nécessité d'accessibilité externe, il devrait être une classe publique. –

+1

@Vitor, La classe qui a 'Main' est automatiquement déclarée publique même si vous n'écrivez rien devant elle. Vous ne pouvez même pas le déclarer privé. –

0
//Program.cs, if u use visual studio then ensure you add 
// the public access modifier yourself 

namespace HW2_2_Spaceship 
{ 
    public class Program 
    { 
     public static void Main(string[] args) 
     { 
     //Do something here 
     } 
    } 
} 

//Book.cs, add the public modifier to the class 
namespace HW2_2_Spaceship 
{ 
    public class Book 
    { 
    //add method and properties here 
    } 
} 
+1

Vous n'avez pas besoin d'ajouter le modificateur public sur la classe qui a 'Main' en fait, il sera toujours public, vous ne pouvez pas le définir à private/protected. –

+0

Je préfère que les modificateurs d'accès soient spécifiés explicitement. –

Questions connexes