2010-04-23 8 views
1

Je reçois une erreur d'accessibilitéPourquoi ce constructeur C# produit-il une erreur d'accessibilité incohérente?

accessibilité Incohérence: type de paramètre 'FoolballLeague.FootballLeagueDatabase' est moins accessible que la méthode 'FoolballLeague.MainMenu.MainMenu (FoolballLeague.FootballLeagueDatabase)'
C: \ Users \ Achini \ Desktop \ FootballLeague \ FootballLeague \ MainMenu.cs
// public MainMenu (FootballLeagueDatabase footballLeagueDatabaseIn) // { // InitializeComponent(); // footballLeagueDatabase = footballLeagueDatabaseIn; //}

Quand je lance ce code

public partial class MainMenu : Form 
{ 
    FootballLeagueDatabase footballLeagueDatabase; 
    Game game; 
    Login login; 

    public MainMenu() 
    { 
     InitializeComponent(); 
     changePanel(1); 
    } 

    public MainMenu(FootballLeagueDatabase footballLeagueDatabaseIn) 
    { 
     InitializeComponent(); 
     footballLeagueDatabase = footballLeagueDatabaseIn; 
    } 
} 

Et je ne sais pas pourquoi. Qu'est-ce que je rate? Que signifie l'accessibilité?

+0

Quelqu'un veut-il expliquer ce que signifie l'accessibilité incohérente? Ou allons-nous simplement faire nos devoirs pour les gens sur internet? –

Répondre

2

Rendre publique la définition de FootballLeagueDatabase là où elle est déclarée, cela devrait aider.

2

Marque FoolballLeague.FootballLeagueDatabase publique

+0

Merci j'ai résolu le problème ci-dessus. – Leo

1

La classe FootballLeagueDatabase doit être public pour permettre à un client de votre code pour appeler la méthode MainMenu(). L'erreur dit que ce n'est pas public.

Mettez "public" devant la déclaration de classe. Ou considérez si vous avez vraiment l'intention de rendre MainMenu() public. Il fait des charlatans comme une méthode qui devrait être interne.

+0

Merci, ces réponses fonctionnent parfaitement. – Leo

Questions connexes