3

我编写了一个玩家类和一个名为 Experience 的公共类。当我尝试将玩家等级从 1 提高到 2 时,我使用以下方法:

public static void LvlPlayer(Player player)
{
    if (player.Level != 10)
    {
        ++player.Level;
        player.Attack += 2;
    }
}

这是它给我的错误消息:

Error 1 Inconsistent accessibility: parameter type 'Game.Player' is less accessible than method 'Game.Experience.LvlPlayer(Game.Player)'

我可以这样做,我只是错过了一块拼图,或者这不起作用?我正在使用这个方法作为我需要在主驱动程序方法中调用的东西。在那个方法中,我创建了一个播放器类的实例,我打算传递它以增加播放器级别属性。

为什么这不起作用?

4

1 回答 1

10

您的课程必须是公开的:

public class Player
{
 (...)
}

您的类不能比使用它的方法更不可见(内部)(LvlPlayer 方法是公共的),这就是错误告诉您的原因

'Game.Player' 比方法 'Game.Experience.LvlPlayer(Game.Player)' 更难访问

于 2013-05-06T22:40:52.427 回答