防止Xamarin自动将System.DateTime转换为NSDate?

时间:2014-10-02 22:52:18

标签: c# ios .net xcode xamarin

我们有一个属性,我们设置NSDate类型的CoreData字段。我们希望阻止任何开发人员将System.DateTime传递给此属性,因此Xamarin不会将其从System.DateTime自动转换为NSDate。有没有办法抛出异常以防止这种情况发生?

原因是如果您使用DateTimeKind“未指定”传递System.DateTime,您将收到意外结果。我们需要防止这种情况发生。

谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个想法(我不完全确定它会起作用):

创建一个新类MyCustomDate,并向NSDate添加隐式运算符。将您的媒体资源类型更改为MyCustomDate。我相信编译器不会允许将DateTime分配给这个属性(它不会经历2次隐式转换(DateTime - > NSDate - > MyCustomDate)),所以你在任何地方分配DateTime时都会遇到编译器错误你的财产,而分配NSDate仍然有效。