Нет, это невозможно из коробки. Unity не полагается на имя параметра. Поэтому, когда любой класс ожидает DateTime в качестве параметра-конструктора, контейнер Unity будет использовать зарегистрированный независимо от имени параметра.
Чтобы только определенным типам вводили специальный DateTime и другие DateTime. Теперь вам нужно зарегистрировать общий DateTime обычным образом:
container.RegisterType<DateTime>();
Специальный объект должен быть зарегистрирован по имени:
container.RegisterInstance<DateTime>("special", DateTime.Now);
Теперь, когда вы хотите использовать специальный экземпляр DateTime при разрешении объекта, вы можете зарегистрировать этот объект следующим образом:
container.RegisterType<IMyType, MyType>(
new InjectionConstructor(new ResolvedParameter<DateTime>("special"));