我是CSharp的新手,不明白是什么问题.
public abstract class Player
{
protected Behaviour fBehaviour;
public Behaviour FBehaviour { get; set; }
Run Code Online (Sandbox Code Playgroud)
错误说错误6可访问性不一致:字段类型...比字段更难访问...
我试过改变一切,但没有任何效果.
public abstract class State
{
public virtual Enter(/* THIS NEED A PARAMETER */)
{
// an empty method
}
}
public class PlayerState : State
{
public override Enter(Player pl)
{
// method implementation
}
}
public class GoalkeeperState : State
{
public override Enter(Goalkeeper gk)
{
// method implementation
}
}
//EXAMPLE OF USE
public State globalState;
globalState.Enter(owner);
// OWNER CAN BE PLAYER OR GOALKEEPER
Run Code Online (Sandbox Code Playgroud)
我知道虚拟和覆盖方法需要具有相同的"打印".所以这里有一个设计缺陷.所以这样的事情是可能的.我怎样才能做到这一点 ?你会怎么做?