То, как проверить, могут ли два типа быть сравнены, суммировало и т.д.?

если дали два типа (Тип a, Тип b), там какой-либо "хороший" способ узнать, могут ли те два быть сравнены, суммированы и т.д.?

Я думал, реализуют ли типы IConvertible, можно было преобразовать и в, позволяет, говорят, что десятичное число и работает"Convert.ToDecimal(a) > Convert.ToDecimal(b)" ?

Я создаю средство анализа выражения и хочу смочь работать с любым видом объекта и таким образом должен знать, может ли тип сравниться с другим типом (это не должны быть те же типы с обеих сторон. например. double > int)

7
задан James Kolpack 25 March 2010 в 19:21
поделиться

1 ответ

То, что вы можете добавлять к типам, зависит от правил привязки вашего языка программирования. В частности, неявные преобразования и разрешение перегрузки.

Начиная с .net 3.5 существует класс "Expression" и связанные вспомогательные классы, которые могут это делать. Решение для ограничения перегруженного оператора в обобщенных шаблонах .NET

1
ответ дан 7 December 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: