今まで、このサイトの既存の投稿から常に回答を得ることができましたが、今日は誰も質問していないように思われる質問があります。
次のコードについてです。
class Board<T>
{
    private T[,] board;
    public T[,] BoardArray
    {
        get { return (T[,])board.Clone(); }
    }
    public T this[int y, int x]
    {
        get { return board[y, x]; }
        set { board[y, x] = value; }
    }
    public Board()
    {
        board = new T[8, 8];
    }
    public void AssignToBoard()
    {
        board[1, 2] = 3;
        this[1, 2] = 3;
    }
}
問題は、メソッドの両方のコード行が同じコンパイル時エラーを生成することです。エラーがスローされる理由はわかっていますが、明確な回避策はわかりません。これはエラーです:
Error   1   Cannot implicitly convert type 'int' to 'T' C:\Users\Peter\Desktop\Dropbox\ReversieAI\ReversieAI\ReversieAI\Map.cs  31  18  ReversieAI
コードをコンパイルできる唯一の方法は、行を次のように変更することです。
board[1, 2] = (T)(object)3;
this[1, 2] = (T)(object)3;
機能しますが、それでもまだ汚いソリューションです。問題を認識していて、私を助けたり、考えを共有したりできる人はいますか?
前もって感謝します、ピーター
編集:クラスの一般的な部分を削除するアーキテクチャで何かを変更することで解決策を見つけました。フィードバックをお寄せいただきありがとうございます。ほんとうにありがとう。