error CS0120: An object reference is required to access non-static member

this line on my code

                        "BoardManager.SpawnChessman(mySecondCanvas11.Constants.PIECE_QUEEN,x,y);"

working ok on the manager script put when i moving it to other script and trying to accessing to it fromm other script i get this error

Assets/Scripts/mySecondCanvas11.cs(24,49): error CS0120: An object reference is required to access non-static member `BoardManager.SpawnChessman(int, int, int)’

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class mySecondCanvas11 : MonoBehaviour {
 
public BoardManager _SpawnChessman;
public static class Constants
    {
       
                //public const int PIECE_KING = 0;
                public const int PIECE_QUEEN = 1;
                public const int PIECE_ROOK = 2;
                public const int PIECE_BISHOP = 3;
                public const int PIECE_KNIGHT=4;
                public const int PIECE_PAWN = 5;
    }
 
 
public void PromotePiece (int type)
{
   switch (type) {
                 case Constants.PIECE_QUEEN:
                           //BoardManager.SpawnChessman(1, x, y);
                            BoardManager.SpawnChessman(mySecondCanvas11.Constants.PIECE_QUEEN,x,y);
 
                           //activeChessman.Remove(selectedChessman.gameObject);
                           //Destroy(selectedChessman.gameObject);
   
 
                          break;
                 case Constants.PIECE_ROOK:
                           // code to make a rook
                          break;
                 // and so on
            }
}
}

You need a reference to the BoardManager class as its not static. Add this to your class:

 public BoardManager boardManager;

and then use it like that

boardManager.SpawnChessman(mySecondCanvas11.Constants.PIECE_QUEEN,x,y);

or you can use a singleton pattern if you always have only one board manager in your scene.

public class BoardManager : MonoBehaviour {

    public static BoardManager instance;
    
    void Awake(){
    if(!instance){
       instance = this;
    }else{
       Destroy(gameObject);
    }
}

and access it like that :

 BoardManager.instance.SpawnChessman(mySecondCanvas11.Constants.PIECE_QUEEN,x,y);

hope this helps!