要實(shí)現(xiàn)一個(gè)類型轉(zhuǎn)換器,我們必須要重寫(overr " /> 综合激情一区,欧美日韩综合视频网址,精品国产凹凸成av人网站

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

WinForm控件開發(fā)總結(jié)(六)-----控件屬性類型轉(zhuǎn)換器代碼詳解

      在上一篇文章,我為控件添加一個(gè)一個(gè)復(fù)雜屬性,并且為這個(gè)屬性的類型的編寫了一個(gè)類型轉(zhuǎn)換器,現(xiàn)在我們來看看這個(gè)類型轉(zhuǎn)換器的代碼,并解釋一下這些代碼的意義。
       要實(shí)現(xiàn)一個(gè)類型轉(zhuǎn)換器,我們必須要重寫(override)四個(gè)方法:
       CanConvertFrom()――根據(jù)類型參數(shù)進(jìn)行測試,判斷是否能從這個(gè)類型轉(zhuǎn)換成當(dāng)前類型,在本例中我們只提供轉(zhuǎn)換string和InstanceDescriptor類型的能力。
       CanConvertTo()――根據(jù)類型參數(shù)進(jìn)行測試,判斷是否能從當(dāng)前類型轉(zhuǎn)換成指定的類型。
       ConvertTo()――將參數(shù)value的值轉(zhuǎn)換為指定的類型。
       ConvertFrom()――串換參數(shù)value,并返回但書類型的一個(gè)對象。
       public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        
{
            String result 
= "";
            
if (destinationType == typeof(String))
            
{
                Scope scope 
= (Scope)value;
                result 
= scope.Min.ToString()+"," + scope.Max.ToString();
                
return result;

            }


            
if (destinationType == typeof(InstanceDescriptor))
            
{
                ConstructorInfo ci 
= typeof(Scope).GetConstructor(new Type[] {typeof(Int32),
typeof
(Int32) });
                Scope scope 
= (Scope)value;
                
return new InstanceDescriptor(ci, new object[] { scope.Min,scope.Max });
            }

            
return base.ConvertTo(context, culture, value, destinationType);
        }

NET技術(shù)WinForm控件開發(fā)總結(jié)(六)-----控件屬性類型轉(zhuǎn)換器代碼詳解,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 社旗县| 晋中市| 新丰县| 东台市| 富顺县| 浦北县| 阿拉善盟| 甘孜| 金山区| 高雄市| 和静县| 横山县| 拉萨市| 永春县| 吉木乃县| 绥棱县| 越西县| 天全县| 岑溪市| 东乌珠穆沁旗| 资中县| 清镇市| 麦盖提县| 威宁| 莱芜市| 巴塘县| 双鸭山市| 梁平县| 印江| 娱乐| 兴文县| 沙洋县| 泌阳县| 古交市| 政和县| 托克托县| 内丘县| 余姚市| 内丘县| 慈利县| 社会|