可访问性错误#2不一致

时间:2015-06-14 23:03:07

标签: c# accessibility

帮助我收到此错误:

  

错误1可访问性不一致:参数类型   ' SharpUpdate.SharpUpdateXml'比方法更难获得   ' SharpUpdate.SharpUpdateInfoForm.SharpUpdateInfoForm(SharpUpdate.iSharpUpdateable,   SharpUpdate.SharpUpdateXml)'

从这段代码:

namespace SharpUpdate
{
    public class SharpUpdateInfoForm : Form
    {
        public SharpUpdateInfoForm(
            iSharpUpdateable applicationInfo,
            SharpUpdateXml updateInfo)
        {
            InitializeComponent();
            if (applicationInfo.ApplicationIcon != null)
                this.Icon = applicationInfo.ApplicationIcon;
            this.Text = applicationInfo.ApplicationName + "- Update Info";
            this.lblVersions.Text = String.Format(
                "Current Version:  {0}\nUpdate Version: {1}",
                applicationInfo.ApplicationAssembly.GetName().Version.ToString(),
                updateInfo.Version.ToString());
            this.txtDescription.Text = updateInfo.Description;
        }
    }
}

我已尝试将public更改为internalprivate,但错误仍然相同。

1 个答案:

答案 0 :(得分:0)

您的错误相当不言自明。它归结为以下几点:

  

参数类型SharpUpdateXml比方法SharpUpdateInfoForm

更难访问

SharpUpdateInfoForm当然是表单的构造函数。构造函数是公共的,传递给构造函数的SharpUpdateXml类不太容易访问(私有或内部)。您必须将SharpUpdateXml类设为公开或SharpUpdateInfoForm内部(如果SharpUpdateXml为私有,则为私有)。

在当前情况下,您将SharpUpdateInfoForm公开给所有人(公开),但要初始化它,您必须使用每个人都无法使用的SharpUpdateXml(私人/内部)。因此,您的类的用户可以尝试初始化表单,但可能不允许使用SharpUpdateXml,这会使整个设置位无用。