要實現一個類型轉換器,我們必須要重寫(overr " /> 国产精品久久激情,欧美无毛视频,黑人精品视频

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

WinForm控件開發總結(六)-----控件屬性類型轉換器代碼詳解

      在上一篇文章,我為控件添加一個一個復雜屬性,并且為這個屬性的類型的編寫了一個類型轉換器,現在我們來看看這個類型轉換器的代碼,并解釋一下這些代碼的意義。
       要實現一個類型轉換器,我們必須要重寫(override)四個方法:
       CanConvertFrom()――根據類型參數進行測試,判斷是否能從這個類型轉換成當前類型,在本例中我們只提供轉換string和InstanceDescriptor類型的能力。
       CanConvertTo()――根據類型參數進行測試,判斷是否能從當前類型轉換成指定的類型。
       ConvertTo()――將參數value的值轉換為指定的類型。
       ConvertFrom()――串換參數value,并返回但書類型的一個對象。
       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技術WinForm控件開發總結(六)-----控件屬性類型轉換器代碼詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 紫阳县| 虎林市| 红安县| 乌恰县| 本溪| 肃宁县| 嵊州市| 吉水县| 邢台市| 梅河口市| 曲阜市| 襄汾县| 西盟| 隆安县| 华宁县| 富锦市| 西充县| 鲁甸县| 桃园县| 吉首市| 哈巴河县| 古蔺县| 怀来县| 若羌县| 五家渠市| 棋牌| 青神县| 平潭县| 巴彦淖尔市| 甘肃省| 成武县| 洛浦县| 临沧市| 铜陵市| 和政县| 黔西| 化州市| 普定县| 泰来县| 唐海县| 枣阳市|