要實現一個類型轉換器,我們必須要重寫(overr " /> 国产成人精品av,欧美7777,精品三级久久

色尼玛亚洲综合影院,亚洲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控件開發總結(六)-----控件屬性類型轉換器代碼詳解,轉載需保留來源!

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

主站蜘蛛池模板: 漯河市| 新干县| 金乡县| 陆良县| 磐石市| 宁德市| 凤冈县| 公安县| 藁城市| 吴川市| 吉木萨尔县| 惠州市| 开化县| 县级市| 武强县| 清新县| 沧源| 滦南县| 修武县| 德阳市| 临沧市| 富民县| 庆城县| 平果县| 惠州市| 瑞昌市| 新田县| 聂拉木县| 金川县| 根河市| 白水县| 句容市| 嘉峪关市| 鹤峰县| 新营市| 武乡县| 冕宁县| 壶关县| 高密市| 湘阴县| 上杭县|