Можно ли через один объект обращаться к разным конструкторам С#?
Используйте параметры по умолчанию и или цепочку вызовов конструкторов, можно ещё использовать паттерн фабрика что она уже вам конструировала в зависимости от параметров
Ну самый примитив в лоб это проверить есть ли введённый текст цвета, если нет, то создать объект через конструктор без него.
Но лучше же, эту проверку затащить во второй конструктор, и там уже проверять, если цвет пустой, то - прочерк. А от первого конструктора избавиться.