1. 程式人生 > >自定義類型轉換器之TypeConverter

自定義類型轉換器之TypeConverter

can con ont rto 方法 contex int 讓我 tor

C#提供了很多類型轉換的方法如ConvertToInt、int.Parse、int.tryParse等等,這些方法都能將一個C#的基本數據類型轉換成另一個C#基本數據類型.那麽.既然如此,C#肯定會提供某種機制來讓我們編寫自定義的類型轉換器.

so.C#提供了一個類型-TypeConverter來幫助我們完成類型轉換的功能,TypeConverter類就是將一種類型(object,當然可以是任意類型)轉換成一種類型(一般為string,當然也可以是其他的類型).或者將另一種類型轉換回來.

1、所有繼承TypeConverter必須實現的虛方法

(1)、CanConverterTo:兩個重載的方法

a、TypeConverter.CanConvertTo (Type)

b、TypeConverter.CanConvertTo (ITypeDescriptorContext, Type)

都有一個Type參數(要轉換成什麽類型),例如要設計成轉換成string,在方法體裏面判斷這個參數的Type如果是string,返回true,否則為false;

(2)、ConverterTo:兩個重載的方法

a、TypeConverter.ConvertTo (Object, Type)

b、TypeConverter.ConvertTo (ITypeDescriptorContext, CultureInfo, Object, Type)

都有Object參數和Type參數,將Object轉換成Type類型的Object,返回Type類型的Object.

下面的兩個類似的方法(3)、(4),不過方向相反,是從其他類型轉換回來。

(3)、CanConverterFrom:兩個重載的方法

a、TypeConverter.CanConvertFrom (Type)
b、TypeConverter.CanConvertFrom (ITypeDescriptorContext, Type)

在方法體裏面判斷參類型數是否是能轉換回來的類型,例如string類型,如果是,返回true,否則返回false;

(4)、ConverterFrom:兩個重載的方法

TypeConverter.ConvertFrom (Object)
TypeConverter.ConvertFrom (ITypeDescriptorContext, CultureInfo, Object)

在方法體裏面判斷參數Object的類型是不是能轉換回來的類型,例如string類型,如果是返回轉換回來的類型。

自定義類型轉換器之TypeConverter