Мне нужно спроектировать класс, который может содержать произвольное количество типов, хотя я не знаю тип и количество этих значений во время разработки. Например - я мог бы инициализировать класс с 2-мя целочисленными значениями и длинным или только одним целым числом. Я также хотел бы по возможности избегать бокса (используя тип «объект»). Каждый тип также имеет имя, поэтому внутренний словарь, содержащий значения, может выглядеть как
Dictionary<string,object> nameValues;//Boxing!
и конструктор может выглядеть как
MyClass(params object[] values) { ... }
Я мог бы создать экземпляр, подобный этому
MyClass mc = new MyClass("intVal",3,"doubleVal",3.5,"dateTimeVal",DateTime.Now);
Любые предложения по более эффективному дизайну, которые позволили бы избежать, насколько это возможно, бокса.
Редактировать: Должна быть также возможность указать значение 'string' в качестве параметра. Сначала я упоминал только типы значений, но это уже не так!