У меня есть общий класс на С# с двумя конструкторами:
public Houses(params T[] InitialiseElements)
{}
public Houses(int Num, T DefaultValue)
{}
Построение объекта с использованием int в качестве универсального типа и передачей двух int в качестве аргументов приводит к вызову «неправильного» конструктора (с моей точки зрения).
Например. Houses<int> houses = new Houses<int>(1,2)
- вызывает 2-й конструктор. Передача любого другого количества целых чисел в конструктор вызовет 1-й конструктор.
Есть ли способ обойти это, кроме удаления ключевого слова params и принуждения пользователей передавать массив T при использовании первого конструктора?