Как явно не указывать тип?
Есть такой интерфейс с двумя параметрами:
public interface IGamePiece<TGame, TMove>
where TGame : Game
where TMove : GameMove
{
TMove[] GetAvailableMoves(TGame game);
}
Есть класс, кторый принимает как параметр тип, реализующий IGamePiece:
public abstract class GameBoardSquare<TGame, TMove, TPiece>
where TGame : Game
where TMove : GameMove
where TPiece : class, IGamePiece<TGame, TMove>
{
// ...
}
Очень неудобно при использовании класса GameBoardSquare каждый раз писать указывать все типы: TGame, TMove и TPiece в треугольныъ скобках.
Хотелось бы просто указать тип TPiece и чтобы с него подтянулись типы TGame и TMove.