要實現一個類型轉換器,我們必須要重寫(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控件開發總結(六)-----控件屬性類型轉換器代碼詳解,轉載需保留來源!

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

主站蜘蛛池模板: 霍山县| 郧西县| 陵川县| 星座| 昆明市| 安达市| 积石山| 鄂温| 淮南市| 德兴市| 芦溪县| 长寿区| 大庆市| 库尔勒市| 安庆市| 罗源县| 和平区| 大兴区| 凉城县| 同心县| 曲靖市| 道孚县| 陆川县| 南华县| 四会市| 秭归县| 登封市| 景宁| 祁阳县| 达日县| 商洛市| 无棣县| 叙永县| 宜良县| 类乌齐县| 五家渠市| 济宁市| 昌邑市| 涡阳县| 建德市| 朝阳市|