Ограничения параметра типа в C # очень ограничены и перечислены здесь .Таким образом, ответ - нет, поскольку проверка времени компиляции идет.Если T является типом, который вы создаете и управляете, один из способов это сделать -
interface IAddable
{
IAddable Add(IAddable foo);
}
, реализовать IFoo для всех ваших типов и использовать where T: IAddable
в качестве ограничения и использовать Add()
вместо+