我们有一个属性,我们设置NSDate类型的CoreData字段。我们希望阻止任何开发人员将System.DateTime传递给此属性,因此Xamarin不会将其从System.DateTime自动转换为NSDate。有没有办法抛出异常以防止这种情况发生?
原因是如果您使用DateTimeKind“未指定”传递System.DateTime,您将收到意外结果。我们需要防止这种情况发生。
谢谢。
答案 0 :(得分:0)
这是一个想法(我不完全确定它会起作用):
创建一个新类MyCustomDate,并向NSDate添加隐式运算符。将您的媒体资源类型更改为MyCustomDate。我相信编译器不会允许将DateTime分配给这个属性(它不会经历2次隐式转换(DateTime - > NSDate - > MyCustomDate)),所以你在任何地方分配DateTime时都会遇到编译器错误你的财产,而分配NSDate仍然有效。