產生的型別轉換
.NET Framework 提供下列兩個機制,用以將使用者定義的資料型別 (自訂型別) 轉換為其他資料型別。
藉著擴充 System.ComponentModel.TypeConverter 類別和透過 System.ComponentModel.TypeConverterAttribute 屬性將型別轉換子與型別產生關聯,來定義自訂型別的型別轉換子。
在自訂型別上實作 System.IConvertible 介面。
下表比對這兩個機制之間的差異。
注意事項 |
---|
只要自訂型別有為其定義的型別轉換子,即會提供設計階段支援給自訂型別。 |
使用 TypeConverter 的轉換 | 使用 IConvertible 的轉換 | ||||
---|---|---|---|---|---|
可以在設計階段和在執行階段兩處使用。 |
只能在執行階段使用。 |
||||
使用反映 (Reflection);因此,比 IConvertible 所啟用的轉換緩慢。 |
不使用反映。 |
||||
允許從自訂型別到其他資料型別和從其他資料型別到自訂型別的雙向型別轉換。例如,針對 MyType 定義的 TypeConverter 允許從 MyType 轉換到 String 以及從 String 轉換到 MyType。 |
允許從自訂型別到其他資料型別,但不能從其他資料型別到自訂型別的轉換。 |
||||
|
|
如需使用型別轉換子以執行轉換的詳細資訊,請參閱 System.ComponentModel.TypeConverter。如需實作型別轉換子以提供設計階段支援給自訂型別的詳細資訊,請參閱實作型別轉換子。