Здравствуйте, nikov, Вы писали:
N>На самом деле таких методов даже несколько — по одному для каждого количества аргументов. Естественно, объявлена куча типов Func<...>. Очевидное дублирование кода. Хотелось бы от него избавиться, не прибегая ни к кодогенерации, ни к более слабой типизации. Вопрос: есть ли системы типов, которые позволяют такое?
Если речь о переменном количестве параметров типа, то вроде бы как в D (Ди) такое может. Разные там клоны МЛ-я, в том числе и твой любимый F# вообще без явных параметров типов обходится.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.