У нас есть свойство, где мы устанавливаем поле CoreData типа NSDate. Мы хотим, чтобы любой разработчик не передавал System.DateTime этому свойству, поэтому Xamarin не автоматически конвертирует его из System.DateTime в NSDate. Есть ли способ выбросить исключение, чтобы это не произошло?
Причина в том, что если вы передадите System.DateTime с DateTimeKind "Unspecified", вы получите неожиданный результат. Нам нужно предотвратить это.
Спасибо.
Вот идея (я не совсем уверен, что это сработает):
Создайте новый класс MyCustomDate и добавьте неявные операторы в/из NSDate. Измените тип своего свойства на MyCustomDate. Я считаю, что компилятор не позволит назначать DateTime этому свойству (он не будет проходить через 2 неявных преобразования (DateTime → NSDate → MyCustomDate)), поэтому вы получите ошибку компилятора везде, где вы назначаете DateTime для своего свойства, в то время как присвоение NSDate все еще работает.