c# – 如何在类和派生类之间使用接口?

我目前正在尝试制作国际象棋游戏,并试图实现一个界面,但我无法访问界面.

public interface IChessPiece
{
     bool CheckMove(int row, int col);
}

public class ChessPiece { ... }

public class Pawn : ChessPiece, IChessPiece
{
     public bool CheckMove(int row, int col) { ... }
}

public class ChessPieces {  public List<ChessPieces> chessPieces; ... }

我似乎无法访问CheckMove()方法.

board.chessPieces.Find(x => <condition>).CheckMove(row, col);
最佳答案
您可以将ChessPiece实现为抽象类:

public interface IChessPiece {
  bool CheckMove(int row, int col);
}

// Note "abstract"
public abstract class ChessPiece: IChessPiece {
  ... 

  // Note "abstract"
  public abstract bool CheckMove(int row, int col);
}

// Pawn implements IChessPiece since it's derived form ChessPiece
public class Pawn: ChessPiece {
  // Actual implementation
  public override bool CheckMove(int row, int col) { ... }
}

转载注明原文:c# – 如何在类和派生类之间使用接口? - 代码日志