不一致的可访问性:返回类型比方法C#

好的,所以这真的很厉害.我有一个私人会员,我想使用它到Form2.我已经做了一个公共静态方法,所以我可以把该成员加入到Form2中.

这是我的代码

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;
}

我试图使FormController从Form1公开,但我得到更多的错误.现在我得到这个:

Inconsistent accessibility: return type ‘exemplu_map.controller.AppController’ is less accessible than method ‘exemplu_map.Form1.getController()’
Any ideas ?

更新:

这是我的AppController类:

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();
    }
}

我已将AppController更改为public,但是我再次收到更多错误.同样的错误,但对于breadRep,cakeRep,sandwichRep.

解决方法

问题是,@ Selman22解释说,你的方法是public,而它的返回值是内部的. (默认情况下,类是内部的)

如果两者都是公共的或内部的,一切都应该起作用.

由于依赖于其他类,让上课人员看起来很难.此外,它可能不是最好的,因为默认情况下更好的是保持更少的可访问性.

使内部方法从另一端解决相同的问题.

无论如何,@ Selman22是第一个:).我刚刚加了我的两分钱,所以你也许应该接受他的回答:).

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...