微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不一致的可访问性:返回类型比方法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是第一个:).我刚刚加了我的两分钱,所以你也许应该接受他的回答:).

原文地址:https://www.jb51.cc/csharp/96122.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐