Нет.Единственный разумный способ сделать это - использовать проверку модульного теста с использованием отражения, чтобы найти все конкретные реализации, а затем проверить это условие.Вы могли бы также возможно сделать что-то во время выполнения повторно через статический конструктор, но тогда возникает вопрос , какой статический конструктор?
Другой подход состоит в отбрасывании операторови использовать интерфейсный подход;например, если вам нужно T
, чтобы иметь +(T,T)
, тогда вместо операторов есть интерфейс с методом Add(T)
.Другое преимущество заключается в том, что интерфейсы можно использовать из обобщенных (обычно через ограничения), тогда как использование операторов из обобщенного кода требует определенных усилий.