Inconsistent accessibility

zhang_meixia 2012-02-14 08:24:02
我定义了一个类:
class Game
{

}
下面的类中有对上面的类的引用
public class Mover
{
protected Game game; //出现错误
public Mover(Game game, Point location)
{
this.game = game; //出现错误
this.location = location; }
}

结果编译后,上面标注了出现错误的两行都出现:Inconsistent accessibility: ...less accessible than ...
我把Game的访问类型改为public,编译即可通过。

但是不明白为什么?初学C#,各位帮忙
...全文
293 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_meixia 2012-06-17
  • 打赏
  • 举报
回复
我知道了。
类或结构的默认访问类型是internal.
类中所有的成员,默认均为private。
所以我定义的类Game,其访问类型是internal的。
而在
public class Mover
{
protected Game game; //出现错误
public Mover(Game game, Point location)
{
this.game = game; //出现错误
this.location = location; }
}
我定义了Game game为protected,但在Mover类中,game的类型相当于public,所以说就出错了。
zhang_meixia 2012-02-15
  • 打赏
  • 举报
回复
我知道改成public,但是为什么呢?其中的原因是什么呢?
kiba518 2012-02-14
  • 打赏
  • 举报
回复
定义类class Game
{

}

public class Game
{

}
孟子E章 2012-02-14
  • 打赏
  • 举报
回复
public class Game

默认是 private的,不允许范围

你可以参见
访问修饰符
http://msdn.microsoft.com/zh-cn/library/wxh6fsc7.aspx

可访问性级别
http://msdn.microsoft.com/zh-cn/library/ba0a1yw2.aspx

可访问域
http://msdn.microsoft.com/zh-cn/library/zd74a9ww.aspx


可访问性级别的使用限制
http://msdn.microsoft.com/zh-cn/library/cx03xt0t.aspx

这些教程

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧