私有类不能成为C#中的参数?

Ven*_*pha 3 c#

我写过一个玩家类和一个名为Experience的公共类.当我尝试将玩家等级从1提升到2时,我使用这种方法:

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

这是它给我的错误消息:

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

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

为什么这不起作用?

Fab*_*ske 10

你的班级必须是公开的:

public class Player
{
 (...)
}
Run Code Online (Sandbox Code Playgroud)

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

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