ИИ для программиста?
Что-то мне этот хак с IConvertible напоминает... Ага, вот - что-то вроде ограничения для параметра типа, чтобы тип был типом значения.
https://stackoverflow.com/a/8746643/5015385
Но это именно хак и лишь для типов значений. Я их лишь в качестве примера привёл. В реальности у меня свои типы, и метод класса должен их поддерживать - через перегрузку типа
Update(Type1 value)
Update(Type2 value)
И если я ввожу новый тип Type3 - должна появиться перегрузка Update с поддержкой этого типа. Как сделать, чтобы при компиляции ошибка выдавалась или хотя бы предупреждение, что в таких-то классах у таких-то методов нужно добавить перегрузку с новым типом?
Дженерики не подходят, т.к. работа с разными типами разная - немного отличающийся код. При этом использую перегрузку, чтобы не писать в одном варианте метода пачку ифов с проверкой типа в рантайме
if (value.GetType() is...)
Перейти на |