Предотвратить Xamarin от автоматического преобразования System.DateTime в NSDate?

1

У нас есть свойство, где мы устанавливаем поле CoreData типа NSDate. Мы хотим, чтобы любой разработчик не передавал System.DateTime этому свойству, поэтому Xamarin не автоматически конвертирует его из System.DateTime в NSDate. Есть ли способ выбросить исключение, чтобы это не произошло?

Причина в том, что если вы передадите System.DateTime с DateTimeKind "Unspecified", вы получите неожиданный результат. Нам нужно предотвратить это.

Спасибо.

Теги:
xamarin
xcode

1 ответ

0

Вот идея (я не совсем уверен, что это сработает):

Создайте новый класс MyCustomDate и добавьте неявные операторы в/из NSDate. Измените тип своего свойства на MyCustomDate. Я считаю, что компилятор не позволит назначать DateTime этому свойству (он не будет проходить через 2 неявных преобразования (DateTime → NSDate → MyCustomDate)), поэтому вы получите ошибку компилятора везде, где вы назначаете DateTime для своего свойства, в то время как присвоение NSDate все еще работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню