2011-08-05 6 views
0

Quelle est l'erreur suivante:accessibilité Incohérence

accessibilité Incohérence: type de paramètre. ---- MessageTypes 'est moins

accessible que la méthode « --- --- MessageBox MessageTypes.. , string) »

mon code:

public partial class Global 
{ 
    private enum Messagetypes { Error }; 

    public void MessageBox(Messagetypes MessageDisplay, string MessageError) 
    { 

    } 
} 

Quel est le bon c ode

+0

Dans l'avenir, postez l'erreur exacte, y compris le numéro de ligne, puis fournissez la classe dans laquelle l'erreur est, sinon c'est difficile de vous aider. Je ne crois pas que vous puissiez même déclarer une émulation comme privée. –

+0

@Ramhound Il semble que vous pouvez réellement, j'ai écrit 'privé enum MyEnum {un, deux}' dans une classe et il a bien compilé, contrairement à ce que [MSDN] (http://msdn.microsoft.com/fr-fr /library/ba0a1yw2.aspx) dit. – Jakub

+0

@Rahmhound Pourquoi ne pourriez-vous pas déclarer une énumération privée? –

Répondre

8

Messagetypes est privé, mais est un paramètre d'une fonction public. Les seules personnes qui pourraient jamais l'appeler sont les autres membres private. Changez votre fonction en private ou modifiez votre enum en public.

0

Vous ne pouvez pas avoir Messagetype être privé car apparemment votre application essaie de l'utiliser en dehors de la classe Global. Changez-le en public et cela devrait fonctionner.

+0

interne ne fonctionnera pas. Il doit être la même accessibilité ou plus accessible –

+0

@Kyle: fixed = P – Jakub