Inkonsistente accessibility: return type ist weniger zugreifbar als Methode C#

Ok, also das ist wirklich seltsam. Ich habe eine private member, und ich will es in Form2. Ich habe eine öffentliche statische Methode, so dass ich bekommen kann, dass die in Form2.

Hier ist mein code:

private static AppController appController;
private BreadRepository breadRep;
private CakeRepository cakeRep;
private SandwichRepository sandwichRep;

public Form1()
{
    InitializeComponent();

    breadRep = new BreadRepository();
    cakeRep = new CakeRepository();
    sandwichRep = new SandwichRepository();
    appController = new AppController(breadRep , sandwichRep, cakeRep);
}
public static AppController getController()
{
    return appController;
}

Ich habe versucht, den appController von Form1 public, aber ich bekomme auch mehr Fehler. Jetzt bekomme ich diese:

Inkonsistent accessibility: return type 'exemplu_map.controller.AppController "ist weniger zugreifbar als Methode" exemplu_map.Form1.getController()'
Irgendwelche Ideen ?

Update:

Hier ist mein AppController-Klasse:

class AppController
{
    private BreadRepository breadRep;
    private SandwichRepository sandwichRep;
    private CakeRepository cakeRep;
    public AppController(BreadRepository breadRep, SandwichRepository sandwichRep, CakeRepository cakeRep)
    {
        this.breadRep = breadRep;
        this.sandwichRep = sandwichRep;
        this.cakeRep = cakeRep;
    }

    public void writeToFile(String file)
    {
        StreamWriter wr = new StreamWriter(file);
        String writeMe = "";
        foreach(Bread e in breadRep.getAll())
        {
            writeMe = writeMe + e.getAll() + "\n";
        }
        foreach (Sandwich e in sandwichRep.getAll())
        {
            writeMe = writeMe + e.getAll() + "\n";
        }
        foreach (Cake e in cakeRep.getAll())
        {
            writeMe = writeMe + e.getAll() + "\n";
        }

        wr.Write(writeMe);
        wr.Close();
    }
}

Habe ich geändert AppController zu öffentlich, aber ich bekomme wieder mehr Fehler. Der gleiche Fehler, aber für breadRep, cakeRep, sandwichRep.

können Sie zeigen die Signatur von AppController-Klasse?
Sie brauchen, um Ihre AppController-Klasse der öffentlichkeit. Sie können nicht zurückkehren und eine interne Klasse von einer public-Methode, das wird snooker-code, der versucht, es zu nennen, da Sie nicht wirklich verwenden Sie das zurückgegebene Objekt.

InformationsquelleAutor icebox19 | 2014-02-23

Schreibe einen Kommentar