私有类在c#中不能作为参数
本文关键字:不能 参数 | 更新日期: 2023-09-27 18:12:34
我已经编写了一个玩家类和一个名为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)'
我可以这样做吗,我只是少了一块拼图,或者这不起作用?我使用这个方法作为我需要在主驱动程序方法中调用的东西。在这个方法中,我创建了一个player类的实例,我打算通过这个实例来增加player level属性。
为什么不工作?
你的类必须是公共的:
public class Player
{
(...)
}
你的类不能比使用它的方法更不可见(内部)(lvplayer方法是公共的),这就是为什么错误告诉你
"游戏。"玩家"比"方法"更容易接近"Game.Experience.LvlPlayer (Game.Player) '