0
我輸入的數據包含表示日期的字符串。這些可能是日期字符串,如「2000-01-01」,但他們可能會說「5Y」,意思是「五年」。所以我有一個小的類來跟蹤這些...非索引字段上的「default-like」屬性
Public Class FlexDate
Friend Input As String = ""
Friend Value As DateTime = EarliestDate
...
您可能會發現一個出租對象中這些FlexDates之一,像「myRent.StartDate」。 「問題」是我希望將Value作爲字段名稱進行訪問。例如...
myRent.StartDate.Input - returns a string
myRent.StartDate.Value - returns a DateTime
那麼,關於....
myRent.StartDate - myRent.StartDate.Value
有沒有辦法做到這一點?它有點像某種方式的默認屬性,但沒有索引,所以我不認爲你可以在這種情況下使用該機制?
尼科,這種反應促使我下了兔子洞,我當時真應該早就走了下來。運營商很酷!但是有一個問題/問題:上面的方法簽名在Format(myRent.StartDate ...)之類的代碼中不起作用。我可以在格式中使用CDate修復此問題,但有沒有更好的解決方案? –
不明白你的意思。什麼是CDate,我們在討論什麼格式? –
對不起尼科,我應該更清楚一點:有問題的數據是一個DateTime對象,正如你在回覆中提到的那樣。所以如果對FlexDate的調用來自採用DateTime的方法,那麼它可以正常工作。但是,如果調用來自格式等多態方法,則運行時無法決定要調用的轉換。如果你像CDate(myRent.FlexDate)一樣包裝它,那麼運行時會將其計算出來,但是這可能會破壞目的。 –