一尘不染

可访问性不一致:参数类型比方法更难访问

c#

我正在尝试在两种形式之间传递一个对象(基本上是对当前登录用户的引用)。目前,我在登录表单中有以下几行内容:

private ACTInterface oActInterface;

public void button1_Click(object sender, EventArgs e)
    {
        oActInterface = new ACTInterface(@"\\actserver\Database\Premier.pad",this.textUser.Text,this.textPass.Text);

        if (oActInterface.checkLoggedIn())
        {
            //user has authed against ACT, so we can carry on
            clients oClientForm = new clients(oActInterface);
            this.Hide();
            oClientForm.Show();
        }
        else...

在下一张表格(客户)上,我有:

public partial class clients : Form
{
    private ACTInterface oActInt {get; set;}

    public clients(ACTInterface _oActInt)

…这导致我得到:

Error   1   Inconsistent accessibility: 
parameter type 'support.ACTInterface' is less accessible than method    
'support.clients.clients(support.ACTInterface)'  
c:\work\net\backup\support\support\clients.cs   20  16  support

我真的不明白问题是什么-
两个字段都是私有的,并且可以通过表单中的相关公共方法进行访问。谷歌搜索并没有真正的帮助,因为它仅指向一个元素是公共元素,而另一个元素是私有元素,在此情况并非如此。

有人帮忙吗?


阅读 389

收藏
2020-05-19

共1个答案

一尘不染

public类的构造方法clients是,public但它的参数类型ACTInterfaceprivate(嵌套在类中?)。你不能那样做。您需要使ACTInterface访问权限至少与一样clients

2020-05-19