但是,很不幸的是,ide并不能預先知道新類別的誕生,因此,我們需要
有typeconverter來做個轉(zhuǎn)換,把自己定義的對象轉(zhuǎn)換為字符串顯示到控件
的屬性頁中,把屬性頁中的字符串(顏色在aspx中的體現(xiàn)也是字符串,如:
#eef008)轉(zhuǎn)換為自定義類。
typeconverter實現(xiàn)步驟可以有以下兩種方式:
一:套用系統(tǒng)定義的typeconverter類,對自定義屬性類做轉(zhuǎn)換,比如套用
expandableobjectconverter等。
二:套用自己定義的typeconverter類,對自定義屬性類做轉(zhuǎn)換.
第一種方式,我在前面的文章已經(jīng)有例子,我們重點討論第二種方式,首先一個建議
是,如果要使用自定義的typeconverter類來做轉(zhuǎn)換,這個類最好繼承typeconverter,而不要
繼承expandableobjectconverter等從typeconverter繼承來的類。
套用expandableobjectconverter可以讓屬性呈樹結(jié)構(gòu)展示,而自己寫的typeconverter
是可以使用編輯字符串改變屬性設(shè)置,如果在自己定義的typeconverter中繼承
expandableobjectconverter,我發(fā)現(xiàn)有時候在編輯類屬性的子屬性的時候,ide有時候并沒有
及時的更新parentproperty(已經(jīng)給自定義類的屬性加notifyparentproperty=true),所以,
最好不要用自己寫的typeconverter類去繼承expandableobjectconverter,盡管這樣
既可以通過修改類屬性的子屬性修改web控件的屬性值,也可以直接編輯字符串修改屬性,
但是有時候會出一些小問題,讓你覺得不舒服。
所以,建議要么直接套用expandableobjectconverter,要么自己寫的屬性類繼承
typeconverter,不要去繼承expandableobjectconverter。
新聞熱點
疑難解答
圖片精選