6
何時可以安全使用隱式轉換?什麼時候應該使用隱式投射?
使用案例:我正在處理一組需要專門照顧的com對象(Marshal.ReleaseComObject)。是否可以創建一個隱式轉換回實際com對象的包裝類?
有什麼情況當我不應該使用隱式轉換?
何時可以安全使用隱式轉換?什麼時候應該使用隱式投射?
使用案例:我正在處理一組需要專門照顧的com對象(Marshal.ReleaseComObject)。是否可以創建一個隱式轉換回實際com對象的包裝類?
有什麼情況當我不應該使用隱式轉換?
我平時總結這些點爲「從不」,但諷刺你的使用情況實際上聽起來像一個郎中......
您應該在(且僅當)確認以下情況時使用隱式轉換:
1.轉換時沒有信息(數據)丟失(或可能丟失)。
2.不會拋出異常。
3.不會發生靜默失敗(您將收到退化的數據)。
只是挑剔:不存在「隱式轉換」沒有這樣的事。您可以使用*轉換操作符*來告訴編譯器執行*顯式轉換*,或者可以省略轉換操作符並執行*隱式轉換*,但不存在*隱式轉換*。 * cast *是出現在源代碼中的東西;如果它沒有出現,那麼就沒有* cast *。 – 2009-09-02 19:34:40