可访问性不一致:参数类型比方法更难访问我试图在两个表单之间传递一个对象(基本上是对当前登录用户的引用)。目前,我在登录表单中有这些内容: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我真的不明白问题是什么 - 两个字段都是私有的,并且可以通过表单中的相关公共方法访问。谷歌搜索并没有真正帮助,因为它只是指向一个元素是公共的而另一个是私有的,这不是这里的情况。有人帮忙吗?
3 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
的构造public
类clients
是public
但它有类型的参数ACTInterface
是private
(它嵌套在一个类?)。你不能这样做。你ACTInterface
至少要像以下那样使用clients
。
浮云间
TA贡献1829条经验 获得超4个赞
如果声音类型ACTInterface
不是public
,但使用默认的可访问性internal
(如果它是顶级)或private
(如果它嵌套在另一种类型)。
赋予public
修饰符类型可以修复它。
另一种方法是同时制作类型和方法internal
,如果这是你的意图。
问题不在于field(oActInterface
)的可访问性,而在于类型ACTInterface
本身。
- 3 回答
- 0 关注
- 551 浏览
添加回答
举报
0/150
提交
取消