2014-10-02 80 views
1

我們有一個屬性,我們在其中設置NSDate類型的CoreData字段。我們希望阻止任何開發人員將System.DateTime傳遞給此屬性,以便Xamarin不會將其從System.DateTime自動轉換爲NSDate。有什麼辦法拋出異常來防止這種情況發生?防止Xamarin自動轉換System.DateTime到NSDate?

原因是,如果您將DateTimeKind的「未指定」傳遞給System.DateTime,您將得到意外的結果。我們需要防止這種情況發生。

謝謝。

回答

0

這裏有一個想法(我不能完全肯定它會工作雖然):

創建一個新類MyCustomDate,並從NSDate的添加隱運營商/。將您的屬性的類型更改爲MyCustomDate。我相信編譯器不會允許將DateTime分配給此屬性(它不會經歷2次隱式轉換(DateTime - > NSDate - > MyCustomDate)),因此無論在何處爲屬性分配DateTime,都會遇到編譯器錯誤,而分配NSDate仍然有效。