當我編譯編譯器下面的代碼得到錯誤:字段初始不能引用非靜態字段,方法或特性在此代碼(有星星)編譯錯誤:一個字段初始不能引用非靜態字段,方法或屬性
KingPiece kingPiece = new KingPiece(***siyahsah1***,ChessColor.White);
任何人都可以幫我嗎?
class PiecePosition
{
public enum ChessColor
{
White,
Black,
}
public class ChessPiece
{
private Image DisplayedImage;
private ChessColor DisplayedColor;
private Point CurrentSquare;
public Point[] ValidMoves;
public ChessPiece(Image image, ChessColor color)
{
DisplayedImage = image;
DisplayedColor = color;
}
}
public class KingPiece : ChessPiece
{
public KingPiece(Image image, ChessColor color)
: base(image, color)
{
ValidMoves[0] = new Point(0, -1); // Up 1
ValidMoves[1] = new Point(1, -1); // Up 1, Right 1
ValidMoves[2] = new Point(1, 0); // Right 1
ValidMoves[7] = new Point(-1, -1); // Left 1, Up 1
}
System.Drawing.Bitmap siyahsah1 = chess6.Properties.Resources.siyahsah1;
KingPiece kingPiece = new KingPiece(siyahsah1,ChessColor.White);
}
}
請不要張貼unrelevant代碼,它使閱讀難,CLAS局在你的例子是無關你的問題。除了使Board類嵌套到PiecePosition有點奇怪 – 2010-11-06 16:49:20