自定義類型轉換器之TypeConverter


  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類型,如果是返回轉換回來的類型。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM