自定義型別轉換器之TypeConverter

2021-09-07 13:50:12 字數 1238 閱讀 7712

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

springMVC之自定義型別轉換器

spring mvc會將表單中提交的sring型別資料轉換成指定的資料型別交給控制器處理。在這個表單中會將字串型別的年齡轉換為int,生日轉化為date型別。在sring mvc中這些轉換依靠的是轉換器實現的,這些轉換器是框架為我們預設提供的。但是有時候我們不滿意它的轉換結果,例如使用者生日,框架只...

Spring MVC自定義型別轉換器

spring mvc自定義型別轉換器一般分為以下幾步 下面看乙個示例 首先我們定義了乙個實現converter介面的物件,這裡我們的userconverter將乙個string型別的變數直接轉換成user型別,user中間包含有username password age address這幾個屬性,我...

SpringMVC自定義型別轉換器

自定義型別轉換器的開發步驟 定義轉換器類實現converter介面 在包下面建立converter目錄,定義類 public class dateconverter implements converter catch parseexception e return date 2.在配置檔案中宣告轉...